一、filter()用法
功能:用于筛选数组中满足条件的元素,返回一个筛选后的新数组。
<script> $(function(){ var arr = [1,-2,3,4,-5]; var minus = arr.filter(function(item,index,array){ return item < 0; }); console.log(minus); // [-2, -5] }) </script>
二、map()用法
功能:用于遍历数组,返回处理之后的新数组,可以看到,该方法与forEach()的功能类似,只不过map()具有返回值,会返回一个新的数组,这样处理数组后也不会影响到原有数组
<script> $(function(){ var arr=[1,-2,3,4,-5]; var newArr = arr.map(function(item,index,array){ return item * 2; }); console.log(newArr); // [2,-4,6,8,-10] }) </script>
三、some()用法
功能:用于判断数组中的是否存在满足条件的元素,返回一个布尔值
<script> $(function(){ var arr = [1,-2,3,4,-5]; var isSome = arr.some(function(item,index,array){ return item < 0; }); console.log(isSome); // true }) </script>
四、reduce()用法
<script> $(function(){ /* * 语法: * arr.reduce(function(prev,cur,index,arr){ * ... * }, init); * 延伸: * reduceRight():该方法用法与reduce()其实是相同的,只是遍历的顺序相反, * 它是从数组的最后一项开始,向前遍历到第一项。 * */ //先声明一个数组 var arr = [3,9,4,3,6,2,9]; //用法一:求数组元素之和 var sum = arr.reduce(function (prev, cur) { return prev + cur; },0); console.log("数组之和是====="+sum); //用法二:求数组元素之积 var mul = arr.reduce(function (prev, cur) { return prev * cur; },1); console.log("数组之积是====="+mul); //求数组项最大值 var max=arr.reduce(function(prev,cur){ // return prev<cur?cur:prev; return Math.max(prev,cur); },0); console.log("数组最大值是====="+max); //数组去重 var newArr=arr.reduce(function(prev,cur){ prev.indexOf(cur) === -1 && prev.push(cur); return prev; },[]); console.log("数组去重之后的结果是"+newArr); }) </script>
五、forEach()用法
功能:用于遍历数组,无返回值
<script> $(function(){ //先给出一个数组 var arr = [1,-2,3,4,-5]; //用法一:将数组中的每一项翻倍 arr.forEach(function(item,index,array){ array[index] = item * 2; }); console.log(arr); // [2,-4,6,8,-10] //array[index]是全等于item的 arr.forEach(function(item,index,array){ console.log(array[index] === item); // true }); }) </script>
六、every()用法
功能:用于判断数组中的每一项元素是否都满足条件,返回一个布尔值
<script> $(function(){ var arr = [1,-2,3,4,-5]; var isEvery = arr.every(function(item,index,array){ return item > 0; }); console.log(isEvery); // false }) </script>
原文:https://www.cnblogs.com/SpringAndMoon/p/12123051.html