foreach

遍历数组中的每一项,没有返回值,对原数组没有影响,不支持IE

//1 没有返回值
arr.forEach((item,index,array)=>{//执行代码
})

//参数:value数组中的当前项, index当前项的索引, array原始数组;
//数组中有几项,那么传递进去的匿名回调函数就需要执行几次

map

有返回值
map的回调函数中支持return返回值;return的是啥,相当于把数组中的这一项变为啥(并不影响原来的数组,只是相当于把原数组克隆一份,把克隆的这一份的数组中的对应项改变了);

arr.map(function(value,index,array){//do somethingreturn XXX
})
var ary = [12,23,24,42,1];
var res = ary.map(function (item,index,ary ) { return item*10;
})
console.log(res);//-->[120,230,240,420,10];  原数组拷贝了一份,并进行了修改
console.log(ary);//-->[12,23,24,42,1];  原数组并未发生变化

filter

不会改变原始数组,返回新数组

var arr = [{ id: 1, text: 'aa', done: true },{ id: 2, text: 'bb', done: false }
]
console.log(arr.filter(item => item.done))

转为ES5

arr.filter(function (item) {return item.done;
});
var arr = [73,84,56, 22,100]
var newArr = arr.filter(item => item>80)   //得到新数组 [84, 100]
console.log(newArr,arr)

every

every()是对数组中的每一项运行给定函数,如果该函数对每一项返回true,则返回true。返回布尔值

var arr = [ 1, 2, 3, 4, 5, 6 ];
console.log( arr.every( function( item, index, array ){ return item > 3;
}));

find

find()方法返回数组中符合测试函数条件的第一个元素否则返回undefined

var stu = [{name: '张三',gender: '男',age: 20},{name: '王小毛',gender: '男',age: 20},{name: '李四',gender: '男',age: 20}
]
function getStu(element){return element.name == '李四'
}stu.find(getStu)
//返回结果为
//{name: "李四", gender: "男", age: 20}

ES6方法

stu.find((element) => (element.name == '李四'))

findIndex

返回索引值,如果没有符合条件的元素则返回-1

findIndex 不会改变数组对象。

[1,2,3].findIndex(function(x) { x == 2; });
// Returns an index value of 1.
[1,2,3].findIndex(x => x == 4);
// Returns an index value of -1.

keys,values,entries

ES6 提供三个新的方法 —— entries(),keys()和values() —— 用于遍历数组。它们都返回一个遍历器对象,可以用for…of循环进行遍历,唯一的区别是keys()是对键名的遍历、values()是对键值的遍历,entries()是对键值对的遍历

for (let index of ['a', 'b'].keys()) {console.log(index);
}
// 0
// 1
for (let elem of ['a', 'b'].values()) {console.log(elem);
}
// 'a'
// 'b'
for (let [index, elem] of ['a', 'b'].entries()) {console.log(index, elem);
}
// 0 "a"
// 1 "b"

js 数组的几种数组遍历方法相关推荐

  1. matlab 遍历每个像素点,Mat中两种像素遍历方法比较

    小白,入门中,不足其指正.刚刚接触opencv,从一个Matlab风格的编程环境突然跳转到C++,实在有些不适.单就pixels scanning花了好长时间研究.opencv-tutorials给出 ...

  2. Python实现二叉树的三种深度遍历方法!

    python代码实现了二叉树,这次将会实现二叉树的几种遍历方法,来更好的解析二叉树的结构特点.分别是一种广度遍历,和三种深度遍历方法:先序遍历,中序遍历,后序遍历.下面是代码实现: 1.先序遍历 遍历 ...

  3. js常见的几种页面刷新方法

    js常见的几种页面刷新方法如下: 1 history.go(0); 2 location.reload(); 3 location=location; 4 location.assign(locati ...

  4. php 遍历对象数组,js中遍历对象(5种)和遍历数组(6种)的方法总结

    本篇文章给大家带来的内容是关于js中遍历对象(5种)和遍历数组(6种)的方法总结,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一.遍历对象方法 1.for...in 遍历输出的是对 ...

  5. js中遍历数组加到新数组_JS几种数组遍历方式总结

    JS数组遍历的几种方式 S数组遍历的几种方式 JS数组遍历,基本就是for,forin,foreach,forof,map等等一些方法,以下介绍几种本文分析用到的数组遍历方式以及进行性能分析对比 第一 ...

  6. JAVA数组中五种常见排序方法

    前言: 几种常用的JAVA数组排序方法的整合. 法一:Arrays.sort() Arrays.sort()排序方法在java中是最简单且最常用的排序方法 int []arr1= {45,34,59, ...

  7. 转为字符数组_数组的20种常用的方法?

    1.shift 删除数组中的第一个元素 2.pop 删除数组中的最后一个元素 3.unshift 增加元素在数组的前面 4.push 增加元素在数组的后面 5.map 循环,并且返回新的数组 6.fo ...

  8. 基于c语言矩阵数组透视变换,一种图像透视变换方法与流程

    本发明属于图像处理的技术领域,尤其涉及一种图像透视变换方法. 背景技术: 透视变换是一种常见图像处理方法.透视变换常用于图象的校正,例如在移动机器人视觉导航研究中,由于摄像机与地面之间有一倾斜角,而不 ...

  9. javascript中的12种循环遍历方法1

    1:for循环 let arr = [1,2,3]; for(let i =0;i<arr.length;i++){ console.log(i,arr[i]) } //for循环是js中最常用 ...

  10. 数据结构与算法 | 二叉树四种的遍历方法(递归与非递归)

    二叉树的遍历是指从根节点出发,按照某种次序依次访问二叉树的所有节点,使得每个节点被访问且只访问一次. 而一般有四种遍历方法: 前序.中序.后序.层序,下面就分别讲一下四个遍历的思路以及代码实现 例如我 ...

最新文章

  1. 妹妹生了个女儿,纪念一下
  2. 计算机网络原理课程描述,计算机网络原理
  3. win32 断言函数和转换到COFF期间失败错误
  4. 从零开始入门 K8s | 应用编排与管理
  5. 关于 C语言的 按位取反 ~
  6. 2018.9.13,物理仿真实验作业1:测量结果的表示
  7. jQuery图片延迟加载插件jQuery.lazyload
  8. python正则表达式操作指南_比较详细Python正则表达式操作指南(re使用)
  9. 模块化Java简介(转载infoq)
  10. 数据科学高级分析 (Data science advanced analytics)
  11. docker安装bwapp
  12. 迪兰RX550超能4G,这玩意儿居然可以开核?!!
  13. 【刷题】清橙 A1339 JZPLCM(顾昱洲)
  14. 【地理坐标系、大地坐标系与地图投影与重投影详解】
  15. JAVA SE — Day 16
  16. 微信公众账号分为哪几类?区别是什么?
  17. 通过IP地址连接两台电脑
  18. oracle删除不了同义词,删除同义词,百科如何删除同义词项
  19. vue项目中使用ts入门
  20. anbox 使用情况_Anbox 实现分析 2:I/O 模型

热门文章

  1. PB powerbuilder timing类
  2. springboot 7天签到功能设计 数据库表设计 加代码
  3. 无需洪荒之力,轻松搞定奥运会奖牌榜
  4. 2013计算机应用基础试题及答案,2013年电大计算机应用基础试题及参考答案
  5. maven仓库读取顺序
  6. Android群英传知识点回顾——第四章:ListView常用优化技巧
  7. 微信怎么批量自动添加好友?
  8. python数据建模_Python数据模型
  9. springboot RSA加密解密
  10. Android获取手机屏幕宽度