博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js数组方法总结
阅读量:5905 次
发布时间:2019-06-19

本文共 1979 字,大约阅读时间需要 6 分钟。

传统的js数组方法

concat(),push(),pop(),shift(),unshift(),splice(),slice(),join(),sort(),reverse();

ES5新增数组方法:

indexOf(),lastIndexOf(),map(),filter(),forEach(),some(),every(),reduce(),reduceRight();

1,concat() 用于连接两个数组,返回新构建的数组

var arr = [2,3,5];var newarr = arr.concat([5,3,8]);console.log(newarr)//[2,3,5,5,3,8]

  

var arr = [2,3,5];var newarr = arr.concat(5,[3,8]);console.log(newarr)//[2,3,5,5,3,8]

  

var arr = [2,3,5];var newarr = arr.concat([5,[3,8]]);console.log(newarr)//[2,3,5,5,[3,8]]

  看到上面的区别了吗?

  如果concat的不是一个数组,元素则直接添加到原数组末尾,数组则把每一项分别添加到原数组末尾;

  如果concat的是个二维数组,则把数组中的每一项添加到原数组末尾,二维数组中数组整体添加到原数组末尾;

应用,实现降维数组

例:

var arr = [[1,2],[2,3]];var newarr = Array.prototype.concat.apply([], arr);console.log(newarr)//[1,2,2,3]

  2,push()和pop();

push()是把元素添加到数组末尾,并返回新数组的长度;pop()是把数组中最后一项删除,并返回删除的项;

3,shift()和unshift();

unshift()是把元素添加到数组开头位置,并返回新数组的长度;shift()是把数组中第一项删除,并返回删除的项;

4,splice();

splice()的作用很多,可以删除,添加,替换数组的某些项;

splice()接收很多参数,第一个参数代表起始位置,第二个参数代表删除的个数,第三个参数开始代表插入的数据;返回被删除的项;

var arr = [1,3,3,5];var newarr = arr.splice(2,0,6,7,8);console.log(arr) //[1,3,6,7,8,3,5]console.log(newarr)//[]

  5,slice();

slice()可以接收2个参数,分别代表起始位置和结束位置,返回起始位置到结束位置直接的数据,但不包括结束位置的数据;

如果只有一个参数,代表起始位置,返回从起始位置到末尾的数据;

如果参数是负数,代表从末尾开始计算,-1代表最后一个位置;

6,join();

数组转换为字符串的方法;

7,sort();

数组排序,默认按升序排列;返回排序后的数组;

sort()默认会将数组中的每一项转换为字符串再排序

所以会出现下列情况

var arr = [13,2,1,15,3]var newarr = arr.sort();console.log(newarr);//[1,13,15,2,3]

  所以需要比较函数,sort可以传递一个函数参数,这个函数就是比较函数;

比较函数接收两个参数,如果第一个参数应该位于第二个之前则返回一个负数,如果两个参数相等则返回 0,如果第一个参数应该位于第二个之后则返回一个正数。

arr.sort(function(a, b){    if(a
b){ return 1; }else { return 0; } })

  8,reverse();

反转数组项的顺序

9,forEach();

循环数组的每一项,

10,map();

映射数组的每一项,返回处理后的数组

11,filter();

返回满足过滤条件的数组

12,some();

判断数组中的项是否满足条件,只要有一项满足就返回ture;

13,every();

判断数组中的项是否满足条件,只有全部项都满足才返回ture;

14,indexOf()和lastIndexOf();

接收两个参数,要查找的项和从哪个位置开始查找(可有可无);返回元素在数组中的位置,没有找到返回-1;

15,reduce()和reduceRight();

迭代数组所有项

转载于:https://www.cnblogs.com/zhangbs/p/9780340.html

你可能感兴趣的文章
awk之NF的妙用
查看>>
70个经典的 Shell 脚本面试问题
查看>>
Vim
查看>>
Linux菜鸟——搭建虚拟机环境
查看>>
【Visual C++】Windows GDI贴图闪烁解决方法
查看>>
解决Web部署 svg/woff/woff2字体 404错误(转)
查看>>
【250】◀▶IEW-Unit15
查看>>
excel跨表查询数据
查看>>
Wireshark 抓包小例子
查看>>
主键、外键
查看>>
PROS Step:只需几分钟即可创建优化的价目表,并发现即时收益机会。
查看>>
新功能:Azure 负载平衡器的空闲超时现可配置了
查看>>
Lowest Common Ancestor II
查看>>
java基本数据类型的包装类
查看>>
小米红米1S 电信/联通版 专用TWRP2.8.1.1中文版 (全屏触摸/支持MTP挂载内外置存储)...
查看>>
生成随机码
查看>>
node.js中用户密码的加密
查看>>
mac 终端添加颜色
查看>>
Java 7开发者预览版发布
查看>>
Linux 网络通信之广播
查看>>