JS Array 数组遍历

数组遍历是经常进行的一个操作,然而总是有时候会记不住各种遍历的返回值,是否会改变原数组等,这里做一个对比总结。

在ECMAScript5为数组定义5个迭代的方法,每个方法都接收两个参数:要在每一项运行的函数和(可选的)运行函数的作用域对象---影响this的值。传入这些方法中的函数会接手三个参数:数组项的值,该项在数组中的位置以及数组对象本身。

 

ECMAScript5为数组定义的5个迭代方法
  返回值 是否改变原数组
every() true/false
filter() 返回true的项组成的数组 否,返回一个新数组
forEach() 没有返回值
map() 返回函数调用的结果组成的数组 否,返回一个新数组
some() true/false  

下面我们来看一下第二个参数的使用,该参数指定this关键字可引用的对象。

   let obj1 = {
        divisor: 2
    }
    let obj = {
        divisor: 10,
        remainder: function(value){
            return value % this.divisor
        }
    }
    var numbers = [8,12,44];
    var result = numbers.map(obj.remainder, obj1);
    console.log(result); //  [0, 0, 0]

 

你可能感兴趣的:(javascript)