【发布时间】:2020-04-17 12:24:46
【问题描述】:
这更像是一个愚蠢的问题,但我不得不问。 在没有参数的情况下调用像 map 这样的数组函数是一个好习惯吗? 假设我的代码中已经有一个指定长度的数组“x”,我想创建另一个长度相同但内容不同的数组。 例如:
function generateRandomContent() { ... }
const x = [1, 2, 3, 4, 5]
const y = x.map(() => generateRandomContent())
// or
const z = Array(x.length).fill().map(() => { ... })
当然我可以传递一个参数并且从不使用它,但它有好方法和坏方法吗?
【问题讨论】:
-
如果映射操作不依赖于初始数组的大小,为什么还要进行映射操作?
-
.map()不应该在没有参数的情况下使用。您可以改用.forEach()或 for 循环。 -
Array.from({length: x.length}, () => someFn())甚至Array.from({length: x.length}, someFn)将生成一个具有不同内容的相同size 的数组。.map表示新数组的内容与原数组的内容密切相关。 -
也许值得考虑
Array.from,它将一个函数作为其第二个参数。例如:Array.from(Array(10), generateRandomContent). -
@Yousername
forEach在那里更没有意义。
标签: javascript arrays dictionary