JavaScript中带有一个数字的数组映射[重复]
Posted
技术标签:
【中文标题】JavaScript中带有一个数字的数组映射[重复]【英文标题】:Array map with one number in JavaScript [duplicate] 【发布时间】:2020-10-14 10:55:17 【问题描述】:我想用一个数字创建数组。有可能吗?
在array = 60 中,我的意思是array[1, 2, 3 ...60],但我希望这个数组只有一个数字。
我想要这样的东西。
let array = 60;
const map1 = array.map(x => console.log(x));
console.log 必须发生 60 次。
【问题讨论】:
【参考方案1】:您可以使用new Array(60);
创建一个长度为60 的数组。然后附加fill("")
以用空字符串填充它们的数组。之后,您可以map()
将每个项目的索引设置为它的值。
(请注意,索引是从零开始的,因此您需要添加一个)。
let arr = new Array(60).fill("").map((_, i) => i + 1);
arr.forEach(n => console.log(n));
详细说明:
// Create array of length 60
let arr = new Array(60);
// Fill the whole array with a value, i chose empty strings
let filledArr = arr.fill("");
// Replace every value with it's index plus one. Index starts at 0 that's why we add one
let numArr = filledArr.map((_, i) => i + 1);
编辑: 通过将其制成一个函数,您可以使用动态长度调用它
const makeNumArr = num => new Array(num).fill("").map((_, i) => i + 1);
let fiveArr = makeNumArr(5);
let tenArr = makeNumArr(10);
console.log(fiveArr);
console.log(tenArr);
【讨论】:
_
是干什么用的?
感谢您的回答,但为什么这个数组以 11 开头?
@MayankGupta _
只是数组中当前项目的变量名。我本可以选择一个不同的名称,但 _
是您不使用的变量的通用名称。 Array.map 有更多关于该方法的信息
@სალისულაბერიძე 这是因为在***上我们只能在控制台中显示50行。如果你把它复制到你自己的代码中,它应该显示全部 60。【参考方案2】:
我想你正在寻找这个。当你想返回一个新数组时,你可以使用map
。如果你只是想迭代你应该使用forEach
。
let array = new Array(60).fill(1);
array.forEach(x => console.log(x));
【讨论】:
以上是关于JavaScript中带有一个数字的数组映射[重复]的主要内容,如果未能解决你的问题,请参考以下文章