Javascript 通过map函数初始化带有对象的数组
我不知道为什么这个片段不起作用:Javascript 通过map函数初始化带有对象的数组,javascript,Javascript,我不知道为什么这个片段不起作用: Array(50).map(e => { e = {id: Math.random() , content: 'some_content'}; return e }); var result=Array.applynull,{length:50}.mape=>{e={id:Math.random,content:'some_content'};返回e}; console.logresult 当然,它会做你让它做的事,而不是你想让它做的事 问题是调用Ar
Array(50).map(e => { e = {id: Math.random() , content: 'some_content'}; return e });
var result=Array.applynull,{length:50}.mape=>{e={id:Math.random,content:'some_content'};返回e};
console.logresult 当然,它会做你让它做的事,而不是你想让它做的事 问题是调用Array50的map函数创建了50个空插槽,但没有分配给它们,因此map什么也不做 如所示,您可以使用快速创建一个由50个元素组成的数组,分配给未定义的元素。您可以使用array.apply并将映射的返回值括在括号中,以返回对象 var-array=array.applynull,{length:50}.map.=>{id:Math.random,content:'some_content'};
console.logarrayUse数组。from{length:50}作为数组。from{length:50}.mape=>{id:Math.random,content:'some_content'};。很好,让它成为一个答案,这样我就可以接受iTunes初始化的数组条目被map、foreach等跳过。您可以使用扩展语法创建一个由n个元素组成的iterable[…Array50].mapArray.applynull,{length:50}长度大于500000英寸时不起作用firefox@MattEllen-未分配元素和分配给未定义元素之间存在差异。据我所知,直接测试这种差异的唯一方法是使用hasOwnProperty,但这个问题间接地说明了这个问题。这也是Firebug和Firefox控制台之间的问题。Firefox显示[,40多个…],而Firebug显示了50个未定义的数组。我想是时候抛弃Firebug了:DIt也类似于稀疏数组,例如,让x=[1,2];x[7]=3;。图元2…6将被map取消分配和跳过。我们在这里讨论的是50个元素。我看不出性能有问题…是的,我知道。。。取决于是否有人想要50万或500万个随机数:p哦,这并不慢,这是我的错:p