在前端开发中,创建数组是非常常见的操作。ES6 之前,我们通常使用 Array
构造函数或者字面量的方式来创建数组。在 ES6 中,我们引入了 Array.from
和 Array.of
这两个新的方法,它们更加灵活和易用,能够为我们的开发带来很多便利。
Array.from
Array.from
方法可以将一个类数组对象或者可迭代对象转换成一个真正的数组。它的语法如下:
Array.from(iterable[, mapFn[, thisArg]])
其中,iterable
表示要转换的对象,可以是任何可迭代的对象,比如 Set
、Map
、String
、NodeList
等。mapFn
是一个可选的映射函数,用于对每个元素进行处理。thisArg
是可选的参数,用于指定 mapFn
中的 this
值。
下面是一个简单的示例,演示如何使用 Array.from
将一个字符串转换成数组:
const str = 'hello'; const arr = Array.from(str); console.log(arr); // ['h', 'e', 'l', 'l', 'o']
我们可以看到,Array.from
方法将字符串转换成了一个包含每个字符的数组。
另外,我们还可以使用 mapFn
参数对每个元素进行处理。比如,我们可以将一个数组中的每个元素都加上 1:
const arr1 = [1, 2, 3]; const arr2 = Array.from(arr1, x => x + 1); console.log(arr2); // [2, 3, 4]
Array.of
Array.of
方法用于创建一个包含任意数量元素的数组。它的语法如下:
Array.of(element0[, element1[, ...[, elementN]]])
其中,element0
、element1
等表示要添加到数组中的元素。
下面是一个简单的示例,演示如何使用 Array.of
创建一个包含多个元素的数组:
const arr = Array.of(1, 2, 3); console.log(arr); // [1, 2, 3]
我们可以看到,Array.of
方法创建了一个包含多个元素的数组。
与 Array
构造函数不同的是,Array.of
会保留单个数字作为元素的情况。比如,Array(3)
创建的是一个包含 3 个空位的数组,而 Array.of(3)
创建的是一个包含一个元素 3 的数组。
总结
Array.from
和 Array.of
是 ES6 引入的两个新方法,它们提供了更加灵活和易用的方式来创建数组。Array.from
可以将一个类数组对象或者可迭代对象转换成一个真正的数组,而 Array.of
则用于创建一个包含任意数量元素的数组。在实际开发中,我们可以根据需求选择不同的方法来创建数组,以提高开发效率和代码质量。
示例代码
-- -------------------- ---- ------- -- -- ---------- - -------- ----- ----- -------- - ------------------------------- ----- ---- - --------------------- -- -- ---------- ------------- ----- ---- - -------------- -- --- - -- - - --- -- -- -------- ------------- ----- ---- - ----------- -- --- ------------------ ------------------ ------------------
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65f7f09ed10417a22235d549