forEach,map,filter,some,every等数组方法的应用方法

forEach( ),map(),filter( ),some( ),every( )是ES5新增的数组方法,其中都有三个参数:
1、currentValue:当前元素,
2、index:当前索引号,
3、array:进行操作的数组
其中除了currentValue不可省略,其余两个参数都可省略

1、forEach( )

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

运行结果如下:
forEach,map,filter,some,every等数组方法的应用方法_第1张图片

2、map( )

和forEach的功能和用法类似,都是用作数组循环

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

forEach,map,filter,some,every等数组方法的应用方法_第2张图片
forEach 和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

你可能感兴趣的:(javascript)