JavaScript(三)Array的高阶函数
- 
map: map()方法定义在JavaScript的Array
function pow(x) { return x * x; } var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var results = arr.map(pow); // [1, 4, 9, 16, 25, 36, 49, 64, 81] console.log(results);
// 对一个array求和 var arr = [1, 3, 5, 7, 9]; arr.reduce(function (x, y) { return x + y; }); // 25
filter用于把Array的某些元素过滤掉,然后返回剩下的元素。
filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false
JavaScript的Array的sort()方法就是用于排序的,sort()方法也是一个高阶函数,它可以接收一个比较函数来实现自定义的排序。
通常规定,对于两个元素x和y,如果认为x < y,则返回-1,如果认为x == y,则返回0,如果认为x > y,则返回1
var arr = [10, 20, 1, 2]; arr.sort(function (x, y) { if (x < y) { return -1; } if (x > y) { return 1; } return 0; }); console.log(arr); // [1, 2, 10, 20]
- 
every()方法可以判断数组的所有元素是否满足测试条件。
- 
find()方法用于查找符合条件的第一个元素,如果找到了,返回这个元素,否则,返回undefined
- 
findIndex()和find()类似,也是查找符合条件的第一个元素,不同之处在于findIndex()会返回这个元素的索引,如果没有找到,返回-1:
- 
forEach()和map()类似,它也把每个元素依次作用于传入的函数,但不会返回新的数组。forEach()
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号