1. 程式人生 > 其它 >for each,map,filter,some,every等陣列方法的應用方法

for each,map,filter,some,every等陣列方法的應用方法

技術標籤:javascript

for each( ),map(),filter( ),some( ),every( )是ES5新增的陣列方法,其中都有三個引數:
1、currentValue:當前元素,
2、index:當前索引號,
3、array:進行操作的陣列
其中除了currentValue不可省略,其餘兩個引數都可省略

1、for each( )

var arr = [1, 4, 9, 16]
	arr.forEach(function(currentValue, index, array) {
		console.log('陣列' + '[' + array + ']' +
'的第' + index + '個值是:' + currentValue) console.log('平方:' + currentValue * currentValue) })

執行結果如下:
在這裡插入圖片描述

2、map( )

和for Each的功能和用法類似,都是用作陣列迴圈

var arr = [1, 4, 9, 16]
arr.map(function(currentValue, index, array) {
	console.log('開根號:' + Math.sqrt(currentValue))
})

在這裡插入圖片描述
for Each 和map都是用來將陣列逐個遍歷,可用來渲染資料

3、filter 過濾

var arr = [1, 4, 9, 16]
var evens = arr.filter(function(currentValue, index, arr) {
	return currentValue % 2 == 0; //提取出偶數
})
console.log(evens)

在這裡插入圖片描述
filter 的中文意思是過濾的意思,顧名思義,就是把不滿足條件的元素過濾出去,把滿足條件的元素提取出來,上面的例子就是將偶數提取出來了

4、 some

判斷陣列中是否有滿足條件的元素存在,返回的是布林值

var arr = [1, 4, 9, 16]
var flag = arr.some(function
(currentValue, index, arr) { return currentValue % 2 == 0; //判斷是否有偶數存在 }) console.log(flag)

在這裡插入圖片描述
因為陣列arr中存在偶數,所以返回的是true

5、every

判斷陣列中是否所有元素都滿足條件,返回的是布林值

var arr = [1, 4, 9, 16]
console.log(arr.every(function(currentValue) {
	return currentValue > 3; //判斷是否都大於三
}))

在這裡插入圖片描述
因為其中有元素不大於三所以返回的是false