开发者问题收集

Typescript 数组初始化

2020-04-24
77

let s:number[][];

如何将此 s 矩阵填充为 n * n 中的 0

[[0, ..., 0], [0, ..., 0] ... [0, ..., 0]]

这就是我正在做的

for(let i = 0;i < n;i ++) {
    let ss = [];
    for(let j = 0;j < n ;j ++)   ss.push(0);
    s.push(ss);
}

它正在发挥作用,但是有没有更有效、更复杂的方法?

3个回答

您可以使用 Array 的 fill 方法:

s = new Array(n).fill(new Array(n).fill(0));
Eugene Karataev
2020-04-24

尝试使用 Array.from :

fillTwoDArray = (rows, columns,  defaultValue) => {
      return Array.from({ length:rows }, () => (
          Array.from({ length:columns }, ()=> defaultValue)
       ))
    }

console.log(fillTwoDArray(3, 7, 'foo'))
StepUp
2020-04-24
const s = [...Array(n)].map(e => Array(n).fill(0))

我正在用这个方法!

True
2020-04-24