创建零填充 JavaScript 数组的最有效方法?
2022-08-29 22:27:39
在JavaScript中创建任意长度的零填充数组的最有效方法是什么?
ES6 引入了 Array.prototype.fill
。它可以这样使用:
new Array(len).fill(0);
不确定它是否很快,但我喜欢它,因为它简短且自我描述。
它仍然不在IE中(检查兼容性),但有一个polyfill可用。
虽然这是一个旧线程,但我想添加我的2美分。不知道这有多慢/多快,但它是一个快速的一行。以下是我的工作:
如果我想预先填写一个数字:
Array.apply(null, Array(5)).map(Number.prototype.valueOf,0);
// [0, 0, 0, 0, 0]
如果我想用字符串预先填充:
Array.apply(null, Array(3)).map(String.prototype.valueOf,"hi")
// ["hi", "hi", "hi"]
其他答案建议:
new Array(5+1).join('0').split('')
// ["0", "0", "0", "0", "0"]
但是如果你想要0(数字)而不是“0”(字符串中的零),你可以这样做:
new Array(5+1).join('0').split('').map(parseFloat)
// [0, 0, 0, 0, 0]