这更像是一个愚蠢的问题,但我不得不问。调用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
。 mapping操作是当您接受一些输入并生成新的输出时。因此,对于单个元素,您具有一个类似于.map
的关系,然后将其应用于整个数组以使用相同的映射规则来生成新数组:
x -> y
如果您只想基于原始文件的length创建一个新数组,但内容完全不相关,那么最好使用const input = [104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100];
//mapping relationship
const toCharacter = x => String.fromCharCode(x);
const result = input.map(toCharacter);
console.log(result.join(''))
,它可以创建给定大小的数组并占用一个第二个参数将用内容填充它: