为了账号安全,请及时绑定邮箱和手机立即绑定

如何从脚本数组调用映射函数

如何从脚本数组调用映射函数

潇潇雨雨 2022-09-16 21:17:42
为什么这里没有调用 ?map()let N = 16;let fullSizeBufs = Array(2).map((x) =>  Array(N).fill(-1))console.log(fullSizeBufs)我们得到[undefined, undefined]我甚至在上放了一个断点:它没有命中。只是跳过了。正确的语法是什么?Array(N).fill(-1)map()
查看完整描述

2 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

您必须填充第一个数组,否则 map 上没有要迭代的内容。Array 构造函数使用未定义的引用进行初始化,这与 [未定义、未定义、未定义] 不同,后者实际上是一个包含 3 个对未定义的引用的数组。

例如: 与[,,,].map(x=>console.log(x))[undefined,undefined,undefined].map(x=>console.log(x))


let N = 16;

let fullSizeBufs = Array(2).fill(0).map((x) =>

  Array(N).fill(-1)

)

console.log(fullSizeBufs)


查看完整回答
反对 回复 2022-09-16
?
慕村225694

TA贡献1880条经验 获得超4个赞

您可以将 spread 运算符与第一个数组结合使用,以使其可迭代。


let N = 16;

let fullSizeBufs = [...Array(2)].map((x) =>

  Array(N).fill(-1)

)

console.log(fullSizeBufs)


查看完整回答
反对 回复 2022-09-16
  • 2 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号