ES6中的array.from方法是将一个类数组对象或可迭代对象转换为一个新的数组。它可以将字符串、Set、Map等转换为数组。
array.of方法是创建一个包含传入参数的新数组。它与Array构造函数的行为不同之处在于,当传入参数只有一个时,Array构造函数会根据参数的类型来决定创建数组的方式,而array.of会将传入的参数作为数组的一个元素。
下面是两个方法的示例:
使用array.from方法:
const arr1 = Array.from('hello');
console.log(arr1); // ["h", "e", "l", "l", "o"]
const arr2 = Array.from([1, 2, 3], x => x * 2);
console.log(arr2); // [2, 4, 6]
使用array.of方法:
const arr3 = Array.of(1, 2, 3);
console.log(arr3); // [1, 2, 3]
const arr4 = Array.of(7);
console.log(arr4); // [7]
可以看出,array.from方法将字符串和可迭代对象转换为数组,而array.of方法是创建一个包含传入参数的新数组。