在 JavaScript 中创建一个包含 1 到 20 的整数数组是一项常见的任务。下面介绍两种方法,它们都具有简洁性和可读性。
方法 1: Array.from()
ES6 的 Array.from() 方法可以将类似数组或可迭代对象转换为真正的数组。它接受一个可选的映射函数,该函数可以将每个元素从其初始值转换为新值。使用这个方法创建一个包含 1 到 20 的整数数组非常简单:
const arr = Array.from({ length: 20 }, (_, i) => i + 1);
这里我们传递了一个带有 length 属性的对象作为第一个参数。我们还传递了一个映射函数,该函数接受两个参数:当前元素的值 (_), 以及当前元素的索引 (i)。在这里,我们只关心索引,并使用它来计算每个元素的值。
方法 2: Array.apply()
旧版 JavaScript 中也有一种快速创建整数数组的方法:Array.apply()。它接受两个参数:要创建的数组的长度和可选的初始化值。在这个例子中,我们可以将第二个参数传递为空数组,然后使用 map() 方法将每个元素转换为它的初始值加上 1:
const arr = Array.apply(null, { length: 20 }).map((_, i) => i + 1);
这里我们将 null 作为 apply() 方法的第一个参数,因为它只是用来占位的,没有实际意义。同样,我们使用一个带有 length 属性的对象作为第二个参数,并使用 map() 方法将每个元素转换为它的初始值加上 1。
总结
无论你使用哪种方法,都可以在 JavaScript 中快速创建包含 1 到 20 的整数数组。Array.from() 是一种现代化的方法,支持映射函数和更复杂的场景。而 Array.apply() 则是一种旧版的方法,适用于简单的情况。总之,选择一种合适的方法来解决问题非常重要,因为它可以使你的代码更加简洁、可读性更高。
示例代码见下:
// 使用 Array.from() const arr1 = Array.from({ length: 20 }, (_, i) => i + 1); // 使用 Array.apply() const arr2 = Array.apply(null, { length: 20 }).map((_, i) => i + 1); console.log(arr1); // [1, 2, 3, ..., 19, 20] console.log(arr2); // [1, 2, 3, ..., 19, 20]
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/30376