这是我参与8月更文挑战的第19天,活动详情查看:8月更文挑战
一、增删查改
1.1 push
push()
方法将一个或多个元素添加到数组的末尾,并返回新数组的长度。
arr.push(element1, ..., elementN)
@params
:数组要新增的元素(任意数据类型,一次可添加多个,用逗号隔开)@return
:返回数组新增元素后的长度是否改变原数组
:改变
var arr = [1, 2, 3];
var res = arr.push(6, 7, 8);
console.log(res); // res = 6
console.log(arr); // [1,2,3,6,7,8]
1.2 unshift
unshift()
方法将一个或多个元素添加到数组的开头,并返回该数组的新长度。此方法更改数组的长度。
arr.unshift(element1, ..., elementN)
@params
:数组要新增的元素(任意数据类型,一次可添加多个,用逗号隔开)@return
:返回数组新增元素后的长度是否改变原数组
:改变
var arr = [1, 2, 3];
var res = arr.unshift(6, 7, 8);
console.log(res); // res = 6
console.log(arr); // [6,7,8,1,2,3]
1.3 pop
pop()
方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。
arr.pop()
@params
:无@return
:返回数组被删除的元素是否改变原数组
:改变
var arr = [1, 2, 3];
var res = arr.pop();
console.log(res); // res = 3
console.log(arr); // [1,2]
1.4 shift
shift()
方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。
arr.shift()
@params
:@return
:是否改变原数组
:改变
var arr = [1, 2, 3];
var res = arr.shift();
console.log(res); // res = 1
console.log(arr); // [2,3]
1.5 splice
splice()
方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
@params
:不限参数, n,m,x,...第一个参数n是必传(数组的下标,代表从第n个元素起),第二个参数(可选)代表要删除(或被替代,取决于第三个参数是否有值)的元素个数,第三个参数(可选)起,代表要添加(或替代)的元素@return
:返回值是一个数组,里面是删除项是否改变原数组
:改变
// 删除
var arr = [1, 2, 3];
var res = arr.splice(1); // 只传第一个参数,表示删除从下标为 1 的元素起,到最后一个元素
console.log(res); // [2, 3]
console.log(arr); // [1]
// arr.splice(0):可以清空数组,把原始数组中的内容基于新数组储存起来(有点类似于数组克隆)
// arr.splice(arr.length-1):删除最后一项
// arr.splice(0, 1):删除第一项
// 增加
var arr = [1, 2, 3];
var res = arr.splice(1, 0, 8, 9); // 第二个参数为0,表示不删除,之后的参数表示插进数组,下标从1开始,之前的元素往后挪
console.log(res); // []
console.log(arr); // [1, 8, 9, 2, 3]
// 改(替代)
var arr = [1, 2, 3];
var res = arr.splice(1, 1, 8, 9); // 第二个参数为1,表示替代掉下标为1的元素
console.log(res); // [2]
console.log(arr); // [1, 8, 9, 3]