往数组中增删改数据的几个容易搞混的方法

86 阅读1分钟

var arr1 = [10,20,30] var arr2 = [1,2,3]

// push和unshift的()中填数据表示分别在数组末尾和首位添加新数据;不填数据,则是返回数组长度 arr1.push(40) arr1.unshift(0)

console.log(arr1.pop()); // 删除数组最后一位,并得到返回值,会改变原数组 console.log(arr1.shift()) // 删除数组首位,并得到返回值,会改变原数组

// slice的()中可以填写begin和end两个参数,返回数组索引两个参数间数据为一个新数组,不会改变原有数组 console.log(arr1.slice(2))

// concat 合并两个数组为新数组,不会改变原有数组 console.log(arr1.concat(arr2));

// splice 可以在数组指定索引处删除、替换、新增数据,会改变原有数组 console.log(arr2.splice(1,1)) // 从索引为1处删除一个数据,并会返回该数据,此时原数组已经发生改变 console.log(arr2.splice(1,0,1)) // 从索引为1处添加一个数据,原数据往后移一位 console.log(arr2.splice(1,1,1)) // 把索引为1处数据替换掉为1

console.log(arr2); console.log(arr1);