- 2 pop()// 删除数组最末一个元素, 无论 pop() 内是否有参数, 并返回被删除元素
- eg:var arr = [1,2,3,4,5];
- var arr1=arr.pop();
- document.write(arr1+"
- "+arr);
- // 结果为 5
- 1,2,3,4
- (5 处于最末, 即被删掉的元素, 1,2,3,4 为删除过后的数组)// 原数组操作后发生改变
- 3 unshift()// 用法与 push() 相似, 只是将元素添加在了头部, 返回操作后数组长度, 原数组发生改变
- eg:var arr = [1,2,3,4,5];
- var arr1=arr.unshift(1);
- document.write(arr1+"
- "+arr);
- // 结果为 6
- 1,1,2,3,4,5
- 4 shift()// 用法与 pop() 相似, 只是是在头部删除一个元素, 返回被删除元素, 原数组发生改变
- eg:var arr = [1,2,3,4,5];
- var arr1=arr.shift();
- document.write(arr1+"
- "+arr);
- // 结果为 1
- 2,3,4,5
- 5 slice()// 截取数组片段, 一个参数即从参数对应索引开始截至末尾, 并返回被截取片段
两个参数 (至多两个参数), 从第一个参数对应索引为开始截取至第二个参数对应索引位结束 (不包括第二个参数对应索引位), 并返回此片段
无参, 返回原数组
slice() 操作过后, 原数组不发生改变
- eg:var arr = [1,2,3,4,5];
- var arr1=arr.slice(2);
- document.write(arr1+"
- "+arr);
- // 结果为 3,4,5
- 1,2,3,4,5
- eg:var arr = [1,2,3,4,5];
- var arr1=arr.slice(2,3);
- document.write(arr1+"
- "+arr);
- // 结果为 3
- 1,2,3,4,5
- 6 splice()// 一个参数时, 从参数对应索引开始截取至数组末尾, 返回被截取片段, 原数组发生改变
两个参数时, 从第一个参数对应索引位开始截取至第二个参数的长度, 即第二位参数表示被截取的长度, 原数组发生改变
三或以上参数, 前两位与上相同, 后面的插入到截取的地方
- eg:var arr = [1,2,3,4,5];
- var arr1=arr.splice(2);
- document.write(arr1+"
- "+arr);
- // 结果为 3,4,5
- 1,2
- eg:var arr = [1,2,3,4,5];
- var arr1=arr.splice(2,3);
- document.write(arr1+"
- "+arr);
- // 结果为 3,4,5
- 1,2
- eg:var arr = [1,2,3,4,5];
- var arr1=arr.splice(2,3,11);
- document.write(arr1+"
- "+arr);
- // 结果为 3,4,5
- 1,2,11
- 7 reverse()// 将数组内元素翻转, 原数组发生改变
- eg:var arr = [1,2,3,4,5];
- var arr1=arr.reverse();
- document.write(arr1+"
- "+arr);
- // 结果为 5,4,3,2,1
- 5,4,3,2,1
- 8 sort()// 方法对数组成员进行排序, 默认是按照字典顺序排序. 排序后, 原数组将被改变.
sort 方法不是按照大小排序, 而是按照字典顺序. 也就是说, 数值会被先转成字符串, 再按照字典顺序进行比较.
如果想让 sort 方法按照自定义方式排序, 可以传入一个函数作为参数.
- eg: var arr = [1,2,3,4,5,2];
- arr.sort(function(a,b){
- return a-b;
- });
- document.write(arr);
- // 输出 1,2,2,3,4,5 从小到大排列
来源: https://www.2cto.com/kf/201808/766209.html