JS Array对象定义的方法都不能改变数组的内容,而仅仅会返回数组的一个副本。
concat() 方法 用于连接两个或多个数组。
语法
arrayObject.concat(arrayX,arrayX,……,arrayX)
- (arrayX)必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个
1
2
3var colors = ["red", "green", "blue"];
var colors2 = colors.concat("yellow", ["black", "brown"]); // ["red", "green", "blue", "yellow", "black", "brown"]
var colors3 = colors.concat(); // ["red", "green", "blue"]
- (arrayX)必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个
返回值:
- 返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。
join() 方法 把数组中的所有元素放入一个字符串
语法
arrayObject.join(separator)
- (separator)可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符
1
2
3var colors = ["red", "green", "blue"];
var colors3 = colors.join(); // "red,green,blue"
var colors4 = colors.join('.'); // red.green.blue
- (separator)可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符
返回值:
- 返回一个字符串。该字符串是通过把 arrayObject 的每个元素转换为字符串,然后把这些字符串连接起来,在两个元素之间插入 separator 字符串而生成的。
slice() 方法 从已有的数组中返回选定的元素。
语法
arrayObject.slice(start,end)
- (start)必需。规定从何处开始选取。如果是负数,那么从数组尾部开始算起
- (end)可选。规定从何处结束选取。如果是负数,那么从数组尾部开始算起
1
2
3
4
5var colors = ["red", "green", "blue", "yellow", "purple"];
var colors2 = colors.slice(1); // ["green", "blue", "yellow", "purple"] 从第一项到末尾
var colors3 = colors.slice(1,4) // ["green", "blue", "yellow"] 起始项到结束项,但不包含结束项
// 如果参数有负数,则参数加上数组长度。eg array.length=5, slice(-2,-1)与slice(3,4) 返回一样
// 如果结束位置小于起始位置,则返回空数组。
返回值:
- 返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素
说明
- 请注意,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。
splice() 方法 向/从数组中添加/删除项目,然后返回被删除的项目。》》》(splice方法会改变原数组)
语法
arrayObject.splice(index,howmany,item1,…..,itemX)
- (index) 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
- (howmany)必需。要删除的项目数量。如果设置为 0,则不会删除项目。
- (itemX)可选。向数组添加的新项目。
1
2
3
4
5
6
7
8
9
10var colors = ["red", "green", "blue"];
var removed = colors.splice(0,1); // 删除第一项
alert(colors); // green,blue
alert(removed); // red,返回的数组中只包含一项
removed = colors.splice(1, 0, "yellow", "orange"); // 从位置1 开始插入两项
alert(colors); // green,yellow,orange,blue
alert(removed); // 返回的是一个空数组
removed = colors.splice(1, 1, "red", "purple"); // 插入两项,删除一项
alert(colors); // green,red,purple,orange,blue
alert(removed); // yellow,返回的数组中只包含一项
返回值:
- 返回被删除项目的新数组,如果有的话
说明
- splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
- splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。