本篇文章讲述了JavaScript是如何遍历数组的,大家对JavaScript遍历数组不了解的话或者对JavaScript遍历数组感兴趣的话那么我们就一起来看看本篇文章吧, 好了废话少说进入正题吧
本文总结js遍历数组的方法:
问题:遍历数组arr,将各个元素全部转成大写
var arr = ['a','b','c','d'];
方法1:for循环 这个方法比较常用
"use strict";var arr = ['a','b','c','d'];var arrUp = [];for(var i = 0; i < arr.length; i++){ arrUp.push(arr[i].toUpperCase()); } console.log(arrUp); //['A','B','C','D']
方法2:for in 循环 该方法通常用于遍历对象(数组一种特殊的对象)
"use strict";var arr = ['a','b','c','d'];var arrUp = [];for(var i in arr){ arrUp.push(arr[i].toUpperCase()); } console.log(arrUp); //['A','B','C','D']
方法3:forEach方法 数组的迭代方法(下文解释)
返回值:无返回值
"use strict";var arr = ['a','b','c','d'];var arrUp = []; arr.forEach(function(key, index, array){ arrUp.push(key.toUpperCase()); }); console.log(arrUp); //['A','B','C','D']
方法4:map方法 数组的迭代方法(下文解释)
返回值:返回每次函数调用结果组成的数组
"use strict";var arr = ['a','b','c','d'];var arrUp = arr.map(function(key, index, array){ return key.toUpperCase(); }); console.log(arrUp); //['A','B','C','D']
对于上面的简单问题,可能这个四种方法相对于比较好,但是问题一复杂呢
var arr = [1, 4, 10, 5, 8];
问题:对于这个数组,请计算大于6的数组元素个数
只是举一个简单的例子,上面的四种方法也行,只不过可能判断比较麻烦,这里介绍遍历数组的方法,相信在不同的情景中,它们可能更优。
下面的方法,仅仅返回值不同,其余完全一样:接收2个参数,一个函数(必选)和运行该函数的作用域对象(可选,一般不用,目前我不知道有什么妙用,所以不做过多解释)
//要接受的函数,本文叫判断函数function(key, index, array){ //key: 数组项值 //index: 该项的数组下标 //arr:待操作的数组}
方法5:every方法
返回值:如果判断函数对于每一项都返回true,则返回true
用处:根据条件检测数组每一项,只想得到布尔值
"use strict";var arr = [1, 4, 10, 5, 8];var arrTest = arr.every(function(key, index, array){ return (key > 2); }); console.log(arrTest); //false
方法6:filter方法
返回值:返回一个数组,数组元素由判断函数会返回true的项组成
用处:条件筛选
"use strict";var arr = [1, 4, 10, 5, 8];var arrTest = arr.filter(function(key, index, array){ return (key > 6); }); console.log(arrTest); //[10, 8]
方法7:some方法
返回值:如果判断函数对于任一项返回true,则返回true
用处:条件筛选
"use strict";var arr = [1, 4, 10, 5, 8];var arrTest = arr.some(function(key, index, array){ return (key > 6); }); console.log(arrTest); //true
以上就是本篇文章的所有内容,大家要是还不太了解的话,可以自己多实现两边就很容易掌握了哦!
相关推荐:
Atas ialah kandungan terperinci JavaScript遍历数组的方法详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!