学习打卡 JavaScript-ECMA5新增数组方法

        ECMA5新增了7个数组方法,于此做整理复习:

1. indexOf()

        【功能】查找数组中指定元素所在的索引
        【格式】数组.indexOf(元素,index);(其中index参数可选,表示从该索引位置向后开始查找)

	var arr=[20,30,40,50,60,30];
	console.log(arr.indexOf(30));   //1
	console.log(arr.indexOf(30,3)); //5

2. forEach()

        【功能】遍历数组
        【格式】数组.forEach(function(item, index, array){ });
                       【注】 item 当前遍历到的元素
                                   index 当前遍历到的元素的下标
                                   array 当前被遍历的数组

	var arr2 = [10,20,30];
	arr2.forEach(function(item, index, array){
		console.log(item + " " + index + " " + array);
		/*
			10 0 10,20,30
			20 1 10,20,30
			30 2 10,20,30
		*/		
	})
	arr2.forEach(console.log);
	/*
		10 0 (3) [10, 20, 30]
		20 1 (3) [10, 20, 30]
		30 2 (3) [10, 20, 30]
	*/

3. map()

        【功能】数组映射 —— 以 遍历->操作->返回 的方式
        【格式】数组.map(function(item, index, array){ return…; });

	var arr3 = [20,30,40,50];
	var newArray = arr.map(function(item, index, array){
		return item + 2 ;
	});
	console.log(newArray);//(6) [22, 32, 42, 52, 62, 32]

4. reduce()

        【功能】归并 —— 遍历数组的同时,对pre next两个参数进行归并相加处理
        【格式】数组.reduce(function(pre,next, index, array){ return…; });

	var arr4 = [10,20,30,40,50];
	var newArray2 = arr4.reduce(function(pre, next, index, array){
		/*
			pre  上一次遍历return后面的值
			next 当前遍历到的元素
		*/
		console.log(pre + "," + next);
		/*
			10,20
			30,30
			60,40
			100,50
		*/
		return pre + next;
	});
	console.log(newArray2);//150

5. filter()

        【功能】过滤 —— 通过return后面的表达式对整个数组进行筛选
        【格式】数组.filter(function(item, index, array){ return…; });

	var arr5 = [10,20,30,40,50];
	var newArray3 = arr5.filter(function(item, index, array){
			return item >30;//找出所有大于30的元素
	});
	console.log(newArray3);//(2) [40, 50]

6. some()

        【功能】判断return后面的条件,在数组中的任一一个元素上是否成立,如果成立返回true,反之返回false
        【格式】数组.some(function(item, index, array){ return…; });
        【注】如果找到符合表达式条件的元素,则立刻返回true,并停止对数组的遍历

	var arr6 = [10,20,30,40,50];
	var newArray4 = arr6.some(function(item, index, array){
		return item == 30;//判断数组中是否存在30
		//判断return后面的表达式,在当前数组是否成立;
	});
	console.log(newArray4);//true

7. every()

        【功能】和some()方法类似,但是要求数组每一项都符合return后边的表达式,那样返回true,只要有一项不符合就返回false
        【格式】数组.every(function(item, index, array){ return…; });
        【注】如果判断有元素不符合条件,返回false,直接终止遍历

	var arr7 = [10,20,30,40,50];
	var newArray5 = arr7.every(function(item, index, array){
		return item > 5;//判断数组中是否存在30
	});
	console.log(newArray5);//true

猜你喜欢

转载自blog.csdn.net/weixin_44990584/article/details/106217432