js 常用数组方法

方法 描述
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 ]

你可能感兴趣的:(js 常用数组方法)