1.Array.from
官方解释是:
Array.from() 方法从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例;
粗浅理解就是对象变数组呗。。大神可以忽略这句话;
普通用法我相信都会,比如:
let arrayLike = { 0: 'tom', 1: '65', 2: '男', 3: ['jane','john','Mary'], 'length': 4}let arr = Array.from(arrayLike)console.log(arr) // ['tom','65','男',['jane','john','Mary']]但是这类型就不能转了,记录一下:
let arrayLike = { 'name': 'tom', 'age': '65', 'sex': '男', 'friends': ['jane','john','Mary'], length: 4}let arr = Array.from(arrayLike)console.log(arr) // [ undefined, undefined, undefined, undefined ]总结就是这个对象的key的值,要不是数字,要不是字符串的数字,而且必须有length属性
然后还可以配合使用,对,这个就是常用的了,配合new Set去重返回数组:
const data = [1, 1, 3, 4, 6]
const result = Array.from(new Set(data)) // [1, 3, 4, 6]还可以浅拷贝一个数组,就不举例了,主要就是记录一下他的快速生成一个数组:
const data = Array.from({ length: 12 }, () => 1)结果生成一个[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
其实回调里面还可以接受两个参数:
arr:想要转换成数组的伪数组对象或可迭代对象,必传;
index: 数组里面的每一项的下标
const data = Array.from({ length: 10000 }, (_, index) => index + 1)生成一个10000个从1到10000的数组;
好了,边工作边积累,回见~