ES6新增函数总结和range函数实现
Array.from 类数组,Set,字符串转为数组
Array.of 不定参数转为数组
Array.prototype.fill(value,[start],[end]) 对数组在指定范围填充值
Array.prototype.find() 查找满足条件的首个元素,否则返回undefined
Array.prototype.findIndex() 查找满足条件的首个元素的索引Array.prototype.includes() 判断数组是否包含指定的值,包含返回true,否则返回false,对象不能检测
Array.prototype.entries() 用数组的索引和值组成的对象生成一个迭代器
Array.prototype.keys() 用数组的索引生成一个迭代器
Array.prototype.values() 用数组的值生成一个迭代器
String.prototype.trim() 去除两端空格
String.prototype.repeat() 重复字符串生成新字符串
Sting.prototype.startsWith(str,position) 以指定子字符串开始,开始位置可选
String.prototype.endsWith(str,position)以指定子字符串结尾,结束位置可选
String.prototype.includes(str,positon) 是否包含指定的子串,位置可选
Object.assign 对象合并
1. range函数实现
1.1 keys方法
function range(start,end){ return [...Array(end - start).keys()].map(item => start + item); }
在简单情形下,可以直接
[...Array(5).keys()] 来生成一个0到4的序列
1.2 fill方法
function range(start,end){ return Array(end-start).fill(0).map((el,i) => start + i); }
1.3 Array.from方法
function range(end) { return Array.from({ length: end }, (_, index) => index); }
1.4 其他写法
Array(10).fill(1).map((x, y) => x + y) Array.from(Array(20).keys()) [...Array(20).keys()] for (const x of Array(5).keys()) { console.log(x); } var range = (l,r) => new Array(r - l).fill().map((_,k) => k + l);