一、filter()用法

  1. 功能:用于筛选数组中满足条件的元素,返回一个筛选后的新数组。
  1. <script>
  2. $(function(){
  3. var arr = [1,-2,3,4,-5];
  4. var minus = arr.filter(function(item,index,array){
  5. return item < 0;
  6. });
  7. console.log(minus); // [-2, -5]
  8. })
  9. </script>

二、map()用法

功能:用于遍历数组,返回处理之后的新数组,可以看到,该方法与forEach()的功能类似,只不过map()具有返回值,会返回一个新的数组,这样处理数组后也不会影响到原有数组

  1. <script>
  2. $(function(){
  3. var arr=[1,-2,3,4,-5];
  4. var newArr = arr.map(function(item,index,array){
  5. return item * 2;
  6. });
  7. console.log(newArr); // [2,-4,6,8,-10]
  8. })
  9. </script>

三、some()用法

功能:用于判断数组中的是否存在满足条件的元素,返回一个布尔值

  1. <script>
  2. $(function(){
  3. var arr = [1,-2,3,4,-5];
  4. var isSome = arr.some(function(item,index,array){
  5. return item < 0;
  6. });
  7. console.log(isSome); // true
  8. })
  9. </script>

四、reduce()用法

  1. <script>
  2. $(function(){
  3. /*
  4. * 语法:
  5. * arr.reduce(function(prev,cur,index,arr){
  6. * ...
  7. * }, init);
  8. * 延伸:
  9. * reduceRight():该方法用法与reduce()其实是相同的,只是遍历的顺序相反,
  10. * 它是从数组的最后一项开始,向前遍历到第一项。
  11. * */
  12.  
  13. //先声明一个数组
  14. var arr = [3,9,4,3,6,2,9];
  15. //用法一:求数组元素之和
  16. var sum = arr.reduce(function (prev, cur) {
  17. return prev + cur;
  18. },0);
  19. console.log("数组之和是====="+sum);
  20. //用法二:求数组元素之积
  21. var mul = arr.reduce(function (prev, cur) {
  22. return prev * cur;
  23. },1);
  24. console.log("数组之积是====="+mul);
  25. //求数组项最大值
  26. var max=arr.reduce(function(prev,cur){
  27. // return prev<cur?cur:prev;
  28. return Math.max(prev,cur);
  29. },0);
  30. console.log("数组最大值是====="+max);
  31. //数组去重
  32. var newArr=arr.reduce(function(prev,cur){
  33. prev.indexOf(cur) === -1 && prev.push(cur);
  34. return prev;
  35. },[]);
  36. console.log("数组去重之后的结果是"+newArr);
  37.  
  38. })
  39. </script>

五、forEach()用法

功能:用于遍历数组,无返回值

  1. <script>
  2. $(function(){
  3. //先给出一个数组
  4. var arr = [1,-2,3,4,-5];
  5. //用法一:将数组中的每一项翻倍
  6. arr.forEach(function(item,index,array){
  7. array[index] = item * 2;
  8. });
  9. console.log(arr); // [2,-4,6,8,-10]
  10.  
  11. //array[index]是全等于item的
  12. arr.forEach(function(item,index,array){
  13. console.log(array[index] === item); // true
  14. });
  15. })
  16. </script>

六、every()用法

功能:用于判断数组中的每一项元素是否都满足条件,返回一个布尔值

  1. <script>
  2. $(function(){
  3. var arr = [1,-2,3,4,-5];
  4. var isEvery = arr.every(function(item,index,array){
  5. return item > 0;
  6. });
  7. console.log(isEvery); // false
  8. })
  9. </script>

js中几种常用的数组处理方法的总结的更多相关文章

  1. JS中几种常见的数组算法(前端面试必看)

    JS中几种常见的数组算法 1.将稀疏数组变成不稀疏数组 /** * 稀疏数组 变为 不稀疏数组 * @params array arr 稀疏数组 * @return array 不稀疏的数组 */ f ...

  2. [转]js中几种实用的跨域方法原理详解

    转自:js中几种实用的跨域方法原理详解 - 无双 - 博客园 // // 这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同 ...

  3. js中几种实用的跨域方法原理详解(转)

    今天研究js跨域问题的时候发现一篇好博,非常详细地讲解了js几种跨域方法的原理,特分享一下. 原博地址:http://www.cnblogs.com/2050/p/3191744.html 下面正文开 ...

  4. js中几种实用的跨域方法原理详解

    这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...

  5. js中几种实用的跨域方法原理详解【转】

    源地址:http://www.cnblogs.com/2050/p/3191744.html 这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通 ...

  6. 【转】js中几种实用的跨域方法原理详解

    这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...

  7. js中几种常用的输出方式

    1.alert("要输出的内容"); ->在浏览器中弹出一个对话框,然后把要输出的内容展示出来 ->alert都是把要输出的内容首先转换为字符串然后在输出的 2.doc ...

  8. js中Math对象常用的属性和方法

    1 Math对象 1.1定义:Math是js的一个内置对象,它提供了一些数学方法. 1.2特性:不能用构造函数的方式创建,无法初始化,只有静态属性和方法 1.3静态属性 1.3.1 Math.PI 圆 ...

  9. 手写面试编程题- 数组去重 深拷贝 获取文本节点 设置奇数偶数背景色 JS中检测变量为string类型的方法 第6题闭包 将两个数组合并为一个数组 怎样添加、移除、移动、复制、创建和查找节点? 继承 对一个数组实现随机排序 让元素水平 垂直居中的三种方式 通过jQuery的extend方法实现深拷贝

    第1题==>实现数组去重 通过 new Set(数组名) // var arr = [12, 12, 3, 4, 5, 4, 5, 6, 6]; // var newarr1 = new Set ...

随机推荐

  1. Vue全家桶之一Vue(基础知识篇)

    全家桶:Vue本身.状态管理.路由.   异步组件:     

  2. 02 安装net-tools工具

    01 登录虚拟机,没错,还是那个熟悉的黑窗口 02 输入用户名密码(我还是习惯使用root用户,因为,它可以为所欲为) 小知识:注意红色框内的符号: 一般用户为限制用户,符号为:$ 超级用户,为无限制 ...

  3. 题解 SP687 【REPEATS - Repeats】

    考虑可以枚举字符串上的两个点,求出两个点所对应后缀的\(LCP\)和所对应前缀的\(LCS\),两点之间的距离为\(len\),则这两个点对答案的贡献为: \[ \frac{LCS+LCP+L-1}{ ...

  4. select、poll和epoll之间的区别

    在深入理解select.poll和epoll之间的区别之前,首先要了解什么是IO多路复用模型. IO多路复用 简单来说,IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备就绪,它就通知该进 ...

  5. xenomai内核解析---内核对象注册表—xnregistry(重要组件)

    1. 概述 上篇文章xenomai内核解析--同步互斥机制(一)--优先级倒置讲到,对于所有内核对象: xnregistry:保存内核对象,提供内核对象存储和快速检索. xnsynch:资源抽象,提供 ...

  6. Windows下使用图形化mount挂载磁盘到文件夹

    Windows上也有类似于Linux上的mount命令,至于mount是什么: mount是Linux下的一个命令,它可以将分区挂接到Linux的一个文件夹下,从而将分区和该目录联系起来,因此我们只要 ...

  7. MySQL数据库常见命令

    数据库的操作 MySQL服务器的常见命令 开启:sudo service mysql start关闭:sudo service mysql stop重启:sudo service mysql rest ...

  8. 6.28 NOI模拟赛 好题 状压dp 随机化

    算是一道比较新颖的题目 尽管好像是两年前的省选模拟赛题目.. 对于20%的分数 可以进行爆搜,对于另外20%的数据 因为k很小所以考虑上状压dp. 观察最后答案是一个连通块 从而可以发现这个连通块必然 ...

  9. 4.26 ABC F I hate Matrix Construction 二进制拆位 构造 最大匹配

    LINK:I hate Matrix Construction 心情如题目名称. 主要说明一下构造的正确性. 准确来说这道题困扰我很久. 容易发现可以拆位构造. 这样题目中的条件也比较容易使用. 最后 ...

  10. Dynamics 2016 启用Bing Maps

    http://www.krpano360.com/图文详解申请必应地图api密钥 https://crmbook.powerobjects.com/system-administration/inte ...