方法 | 描述 |
---|---|
unshift() | 向数组的开头 添加 一个或更多元素,并返回新的长度。 |
push() | 向数组的末尾 添加 一个或更多元素,并返回新的长度。 |
shift() | 开头 删除 并返回数组的第一个元素 |
pop() | 末尾 删除 并返回数组的最后一个元素 |
splice() | 删除 或添加 元素,并向数组添加新元素。 |
slice() | 从某个已有的数组返回选定的元素 |
concat() | 连接 两个或更多的数组,并返回结果。 |
join() | 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔 。 |
reverse() | 颠倒 数组中元素的顺序。 |
sort() | 对数组的元素进行排序 |
toSource() | 返回该对象的源代码。 |
toString() | 把数组转换为字符串,并返回结果。 |
toLocaleString() | 把数组转换为本地数组,并返回结果。 |
valueOf() | 返回数组对象的原始值 |
splice
splice() 方法向/从数组中
添加/删除
项目,然后返回被删除的项目
。
arrayObject.splice(index,howmany,item1,.....,itemX)
- index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
- howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
- item1, ..., itemX 可选。向数组添加的新项目。
返回值 : 包含被删除项目的新数组,如果有的话。没有返回空数组 []。
var arr = [1,2,3,4,5];
console.log(arr.splice(1,2)); // 返回[]删除两项元素 => [2, 3]
console.log(arr); // => [1, 4, 5] 原数组被删除了
var arr = [1,2,3,4,5];
console.log(arr.splice(2,0,'a',100)); // 返回 => [] 没有删除任何元素
console.log(arr); // => [1,2,'a',100,3,4,5] 原数组增加了
var arr = [1,2,3,4,5];
arr.splice(2,2,[1,2],3); // => 返回['a','b'] 从2下标开始删除2个元素
console.log(arr);// => [1,2,[1,2],3,3,4,5]
slice
该方法并
不会修改原数组
,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。
arrayObject.slice(start,end)
- start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
- end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
var arr = [1,2,3,4,5];
console.log(arr.slice(1)); // 返回 之后的数组 => [2, 3, 4, 5]
console.log(arr); // => [1,2,3,4,5] 原数组不变
// 下标 i 到 下标 j 之前的数组 i <= x < j 不包括下标j
var arr = [1,2,3,4,5];
console.log(arr.slice(1,6)); // 下标1,2,3,4 的数 => [2, 3, 4, 5]
console.log(arr.slice(1,5)); // 下标1,2,3 ,4 的数 => [2, 3, 4, 5]
console.log(arr.slice(1,4)); // 下标1,2,3 的数 => [2, 3, 4]
console.log(arr.slice(1,3)); // 下标1,2 的数 => [2, 3]
console.log(arr.slice(1,2)); // 下标1 的数 => [2]
console.log(arr.slice(1,1)); // 下标 的数 => []
console.log(arr.slice(1,0)); // 下标 的数 => []
console.log(arr.slice(2,4)); // 下标 2,3 的数 => [3, 4]
console.log(arr); // => [1,2,3,4,5] 原数组不变
var arr = [1,2,3,4,5];
console.log(arr.slice(1, -1));
// 返回 之后的数组 => [2, 3, 4, 5] 从数组尾部开始算起的元素
// 负数,那么它规定从数组尾部开始算起的位置 到第几个数
var arr = [1,2,3,4,5];
console.log(arr.slice(-2)); // [4, 5]
console.log(arr.slice(-2,3)); // [ ]
console.log(arr.slice(-2,4)); // [ 4 ]
console.log(arr.slice(-2,5)); // [ 4,5 ]