1. 介绍
1.1 说明
数组是值的有序集合。每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引。JavaScript数组是无类型:数组元素可以是任意类型,并且同一个数组中的不同元素也可能有不同的类型。
1.2 定义方式
- new Array();
- new Array(size);
- new Array(element0, element1, ..., elementn);
- [];
参数:
参数 size 是期望的数组元素个数。返回的数组,length 字段将被设为 size 的值。
参数 element ..., elementn 是参数列表。当使用这些参数来调用构造函数 Array() 时,新创建的数组的元素就会被初始化为这些值。它的 length 字段也会被设置为参数的个数。
返回值:
返回新创建并被初始化了的数组。
如果调用构造函数 Array() 时没有使用参数,那么返回的数组为空,length 字段为 0。
当调用构造函数时只传递给它一个数字参数,该构造函数将返回具有指定个数、元素为 undefined 的数组。
当其他参数调用 Array() 时,该构造函数将用参数指定的值初始化数组。
/* * 第一种定义方式 * 如果参数为空,则表示创建一个长度为0数组。 * 如果参数只有一个数字,表示创建一个长度为参数值的数组,如果参数为多个数字,表示创建一个长度为参数个数的数组。 * 如果参数是字符串或者其他,表示创建一个长度为参数个数的数组。 */ var arr = new Array();//定义一个长度为0的数组 console.log(arr.length);//数组长度为0 arr[0] = 1;//往数组添加一个元素 console.log(arr.length);//数组长度为1 arr.push(2);//或者这样往数组添加元素 console.log(arr.length);//数组长度为2 var arr1 = new Array(3);//定义一个长度为3的数组 console.log(arr1.length);//数组长度为3 var arr2 = new Array(3,4);//定义一个长度为2,元素为3和4的数组 console.log(arr2.length);//数组长度为3 var arr3 = new Array('3');//定义一个长度为1,元素为'3'的数组 console.log(arr3.length);//数组长度为1 /* *第二种定义方式 */ var arr4 = ['张三','李四','王五']; console.log(arr4.length);
1.3 属性
length:表示数组的长度,即数组内元素的个数。
2. 实例方法
2.1 push()
定义和用法
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
语法
arrayObject.push(newelement1,newelement2,....,newelementX)
参数
newelement1 必需。要添加到数组的第一个元素。
newelement2 可选。要添加到数组的第二个元素。
newelementX 可选。可添加多个元素。
返回值
返回新数组的长度
说明
push()方法直接修改数组,而不是创建一个新的数组。
2.2 pop()
定义和用法
pop()方法用于删除并返回数组的最后一个元素。
语法
arrayObject.pop()
返回值
arrayObject的最后一个元素。
说明
pop() 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。
2.3 unshift()
定义和用法
unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
语法
arrayObject.unshift(newelement1,newelement2,....,newelementX)
参数
newelement1 必需。向数组的开头添加第一个元素。
newelement2 可选。向数组的开头添加第二个元素。
newelementX 可选。向数组的开头添加添加多个元素。
返回值
arrayObject的最后一个元素
说明
unshift() 方法将把它的参数插入 arrayObject 的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间。该方法的第一个参数将成为数组的新元素 0,如果还有第二个参数,它将成为新的元素 1,以此类推。
2.4 shift()
定义和用法
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值
语法
arrayObject.shift()
返回值
数组原来的第一个元素的值。
说明
如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。请注意,该方法不创建新数组,而是直接修改原有的 arrayObject。
2.5 concat()
定义和用法
concat() 方法用于连接两个或多个数组(或者具体的值)。
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
语法
arrayObject.concat(arrayX,arrayX,......,arrayX)
参数
arrayX 必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。
返回值
返回一个新的数组。原数组不会改变。
2.6 join()
定义和用法
join() 方法用于把数组中的所有元素放入一个字符串。
元素是通过指定的分隔符进行分隔的。
语法
arrayObject.join(separator)
参数
separator 可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
返回值
返回一个字符串。该字符串是通过把 arrayObject 的每个元素转换为字符串,然后把这些字符串连接起来,在两个元素之间插入separator 字符串而生成的。
2.7 slice()
定义和用法
slice() 方法可从已有的数组中返回选定的元素。
语法
arrayObject.slice(start,end)
参数
start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。若start>end,则返回一个空字符串。
返回值
返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
说明
该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。
2.8 splice()
定义和语法
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。
注释:该方法会改变原始数组。
语法
arrayObject.splice(index,howmany,item1,.....,itemX)
参数
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX 可选。向数组添加的新项目。
返回值
包含被删除项目的新数组,如果有的话。如果没有删除项目,则返回空字符串。
说明
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
2.9 sort()
定义和用法
sort() 方法用于对数组的元素进行排序。
语法
arrayObject.sort(sortby)
参数
sortby 可选。规定排序顺序。必须是函数。
返回值
返回排序过后的数组。
说明
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。
2.10 reverse()
定义和语法
reverse() 方法用于颠倒数组中元素的顺序。
语法
arrayObject.reverse()
返回值
返回倒序后的数组。字方法会改变原来的数组,而不是创建新的数组。
浙公网安备 33010602011771号