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