ES6个人笔记记录——数组扩展

// 扩展运算符
console.log(1,...[2,3,4],5);

// ES5
console.log(Math.max.apply(null,[14,2,48]));
// ES6
let { max } = Math;
console.log(max(...[14,2,48]));

// ES5
var arr1 = [0,1,2];
var arr2 = [3,4,5];
console.log("ES5:"+Array.prototype.push.apply(arr1,arr2),arr1);
// ES6
let arr3 = [0,1,2];
let arr4 = [3,4,5];
console.log("ES6:"+arr3.push(...arr4),arr3);

// 合并数组
// ES5
let [arr5,arr6,arr7] = [['a','b'],['c'],['d','e']];
console.log("ES5:"+arr5.concat(arr6,arr7));
// ES6
let [arr8,arr9,arr10] = [['a','b'],['c'],['d','e']];
console.log("ES6:"+[...arr8,...arr9,...arr10]);

// Array.from()
let arrayLike = {
	'0' : 'a',
	'1' : 'b',
	'2' : 'c',
	length : 3
};
// ES5
console.log([].slice.call(arrayLike));
// ES6
console.log(Array.from(arrayLike,));
console.log(Array.from(arrayLike,x => x + x ));

// 数组实例的enties()、values()、keys()
for(let index of ['a','b'].keys()){
	console.log("keys():"+index);
}

for(let elem of ['a','b'].values()){
	console.log("values():"+elem);
}

for(let [index,item] of ['a','b'].entries()){
	console.log("entries():",item,index);
}

// indexOf()与includes()比较
/*
	indexOf()有两个缺点。
	1.是不够语义化。
	含义是找到参数的第一个出现位置,所以要比较是不是-1,表达不够直观
	2.内部使用严格相等运算符'==='进行判断,会出现NaN的误判
 */
console.log([1,2,3].includes(1));
console.log([1,2,3].indexOf(1));
// ES6将空位明确转为undefined
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值