那些年容易搞混的数组方法

	indexOf lastIndexOf
	indexOf():接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中,
	 从数组的开头(位置 0)开始向后查找。
	lastIndexOf:接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中,
	 从数组的末尾开始向前查找。 
	var arr = [1,3,5,7,7,5,3,1];
	console.log(arr.indexOf(5));       //2
	console.log(arr.lastIndexOf(5));     //5
	console.log(arr.indexOf(5,2));      //2
	console.log(arr.lastIndexOf(5,4));   //2
	console.log(arr.indexOf("5"));      //-1
	
	forEach
	// 参数分别为 遍历的数组内容 遍历的下标 数组本身
	var arr = [1, 2, 3, 4, 5];
	arr.forEach((x,index,a) =>{
		// console.log(x + '|' + index + '|' + (a));
	})

	map
	// 参数分别为 遍历的数组内容 遍历的下标 数组本身
	let arr2 = arr.map((a,b,c)=>{
		// console.log(a + '|' + b + '|' + (c));
		return a*b
	})
	forEach和map的区别:
	// 1、forEach()返回值是undefined,不可以链式调用。
	// 2、map()返回一个新数组,原数组不会改变。
	// 3、没有办法终止或者跳出forEach()循环,除非抛出异常,
	所以想执行一个数组是否满足什么条件,返回布尔值,可以用一般的for循环实现,
	或者用Array.every()或者Array.some();
	
	filter 
	// 参数分别为 遍历的数组内容 遍历的下标 数组本身
	var arr3 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
	var arr4 = arr3.filter(function(x, index,c) {
		console.log(c)
	return  x >= 8;
	}); 
	console.log(arr4);   

	
	every():判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true。
	书写格式:arr.every()
	some():判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。
	书写格式:arr.some()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值