数组迭代

Posted lanshu123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组迭代相关的知识,希望对你有一定的参考价值。

数组法代是一件很重要的操作,在 ECMAScript 5 之前主要使用 for 语句实现,这种方式不是很方便, 为此 ECMAScript 5 新增了 5 个与迭代相关的方法。 

  1. forEach:为数组中的每个元素调用定义的回调函数。

  2. every:检查定义的回调函数如果每一项都返回true,则返回 true。

  3. some:检查定义的回调函数如果任意一项返回true。返回 true。

  4. map:对数组的每个元素调用定义的回调函数,并返回包含结果的数组。

  5. filter:对数组的每个元素调用定义的回调函数,并返回回调函数为其返回 true 的值的数组。 具体说明如下。

forEach

 

//forEach中可选参数thisArg可以为函数指定this指向,忽略则指向window。(箭头函数无效,仅普通函数)
let thisArg = {
    name: ‘熊猫‘,
    age: 21,
    sex: ‘女‘
}
let arr = [1, 2, 3];
arr.forEach(function(value, index, array){
    console.log(this)   //{name: ‘熊猫‘, age: 21, sex: ‘女‘}
    console.log(value)  //123
    console.log(index)  //012
    console.log(array)  //1,2,3
},thisArg);

 

every

let arr = [1, 2, 3];
console.log(arr.every(function(value, index, array){
    return value > 2;
}))  //false

some

let arr = [1,2,3];
    console.log(arr.some(function(value, index, array){
    return value > 2;
}))  //true

map

let arr = [1, 2, 3];
arr = arr.map(function(value, index, array){
    return value + 1;
});
console.log(arr);  //2,3,4

filter

var arr = [5, "element", 10, "the", true];
var result = arr.filter(function(value, index, array){
    return (typeof value === ‘string‘);
});
document.write(result);   //返回值:["element", "the"]

 

以上是关于数组迭代的主要内容,如果未能解决你的问题,请参考以下文章

在OpenGL 4.5中迭代自定义结构unifrom数组

VSCode自定义代码片段—— 数组的响应式方法

VSCode自定义代码片段10—— 数组的响应式方法

Java数组的--遍历

为啥我在这个 python 片段中得到 float 是不可迭代的? [复制]

如何在Django视图中使用for循环返回每次迭代[关闭]