一、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>