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方法是創建一個包含傳入參數的新數組。