ES6数组

1 篇文章 0 订阅

ES6数组:
1、map(映射:一 一对应):如成绩分数对应及格与否、用户ID对应用户的一条记录;

<script>
	let arr = [1, 2, 3]
	/* let result = arr.map(function(item) {
	        return item * 2;
	    }); */
	// let result = arr.map(item => item * 2);
	// alert(result); //结果 2,4,6
	
	let score = [64, 96, 51, 23, 15, 7];
	let result = score.map(item => item >= 60 ? '及格' : '不及格');
	alert(score); //结果 64,96,51,23,15,7
	alert(result); //结果 及格,及格,不及格,不及格,不及格,不及格
</script>

2、reduce(汇总:一组数据出来一个总数):如总数、平均数等

<script>
	let arr = [56, 45, 16, 546];
	// 算总数和平均数
	let result = arr.reduce(function(tmp, item, index) {
	   //三个参数的含义:tmp中间结果(第一次没有中间结果,因此取数组的第一个数作为中间结果);item数组中的每一个数值(56,45,16,546);index数组的下标(从1开始)
	   if (index != arr.length - 1) {
	       // 注意:if里的arr若是用this会发生指向错误(因为此时的this已经变成了window对象)
	       return tmp + item; //结果 663
	   } else {
	       return (tmp + item) / arr.length; //结果 165.75
	   }
	});
	
	alert(result);
</script>

3、filter(过滤器、管道)

<script>
	// 例子一
	let arr = [54, 10, 65, 415, 568, 45, 46, 54, 65];
	// 能被5整除的留下,不能的去掉
	/* let result = arr.filter(item => {
	   // 注意:此处%取模本身就是一个布尔值
	   if (item % 5 == 0) {
	       return true;
	   } else {
	       return false;
	   }
	}); */
	let result = arr.filter(item => item % 5 == 0);
	alert(result); //结果 10,65,415,45,65
	
	// 例子二
	/* let arr = [{
	   title: '电脑',
	   price: 327448
	}, {
	   title: '手机',
	   price: 45346
	}, {
	   title: '鼠标',
	   price: 335
	}, {
	   title: 'U盘',
	   price: 34
	}, {
	   title: '键盘',
	   price: 547
	}]
	
	let result = arr.filter(json => json.price >= 666);
	console.log(result); //结果  Array(2)  0:price: 327448title: "电脑"    1:price: 45346title: "手机" */
 </script>

4、forEach(循环、迭代)

<script>
	let arr = [1, 2, 3, 4, 5];
	arr.forEach((item, index) => {
		alert(index + ':' + item)
	}) 
</script>

ES7
ES7数组:
1、数组includes:检查数组是否包含有指定的数据,有则返回true,反之返回false
2、数组:
keys:所有的key拿出来
values:所有的value拿出来
entries实体:所有的键值对key-value拿出来
for···of:循环数组value;json是一个不可迭代的对象(of不支持json,因此不能循环出value)
for···in:循环数组下标key(从0开始)和jsonkey(属性)

ES7求幂:**相当于Math.pow()

padStart(在字符串前面补指定多少个空格或指定符号,如0)/padEnd(后补)

数组、参数等语法容忍度增大:[1,2,3]=>[1,2,3,]

generator—yield 需要runner、不能用箭头函数=》async-await不依赖外部的runner、可以写成箭头函数

<script>
	async function show(){
		await;
	}
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值