'use strict'; //map()方法定义在array上,可接收一个函数 function pow(x) { return x * x; } var arry = [1, 2, 3, 4, 5]; console.log(arry.map(pow));//[1,4,9,16,25]
'use strict'; var arry = [1, 2, 3, 4, 5]; function sum(x, y) { return x + y; } //reduce的函数必须有2个参数 console.log(arry.reduce(sum));//15 var result = arry.reduce(function (x, y) { return x + y; }); console.log("result=" + result);//result=15
'use strict'; var arry = [1, 2, 3, 4, 5]; //filter用于过滤某些元素 var newArray = arry.filter(function (element, index, self) { return element % 2 == 0; }); console.log("newArray=" + newArray);//newArray=2,4
-------------------------------------------------------------------------------------------------------------------------------
javascript中的sort是按ASCII进行排序的:所以直接使用sort经常会出现意想不到的结果
['Google', 'Apple', 'Microsoft'].sort(); // ['Apple', 'Google', 'Microsoft']; ['Google', 'apple', 'Microsoft'].sort(); // ['Google', 'Microsoft", 'apple'] [10, 20, 1, 2].sort(); // [1, 10, 2, 20]
sort也是高阶函数:
'use strict'; 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 //如果是字符串 var arr2 = ['Google', 'apple', 'Microsoft']; arr2.sort(function (x, y) { x = x.toUpperCase(); y = y.toUpperCase(); if (x > y) { return 1; } if (x < y) { return -1; } return 0; }); console.log("字符串sort=" + arr2);//字符串sort=apple,Google,Microsoft
--------------------------------------------------------------------------------
'use strict'; var arr = [1, 2, 3]; //every()方法可以判断数组的所有元素是否满足测试条件 console.log(arr.every(function (element, index, self) { return element > 0; }));//true (每个元素都>0)
'use strict'; var arr = [1, 2, 3, -5]; //find()方法用于查找符合条件的第一个元素,如果找到了,返回这个元素,否则,返回undefined: console.log(arr.find(function (element, index, self) { return element > 0; }));//1(查找第一个>0的元素)
findIndex()和find()类似,也是查找符合条件的第一个元素,不同之处在于findIndex()会返回这个元素的索引,如果没有找到,返回-1:
--------------------------------------------------------------------------------
'use strict'; var arr = [1, 2, 3, -5]; //forEach()和map()类似,它也把每个元素依次作用于传入的函数,但不会返回新的数组。forEach()常用于遍历数组,因此,传入的函数不需要返回值: arr.forEach(function (element, index) { console.log("index=" + index + " 值=" + element); }); /* index=0 值=1 index=1 值=2 index=2 值=3 index=3 值=-5*/