我编写了以下函数,以将列和行添加到2D数组中:
function addColumns(array, number, value) {
array.push(...new Array(number).fill(new Array(array[0].length).fill(value)));
return array;
}
function addRows(array, number, value) {
array.map((e) => { e.push(...new Array(number).fill(value)); return e; });
return array;
}
现在我想在2x2数组上使用它们:
let myArray = [...new Array(2)].map(() => new Array(2).fill('a'));
console.log(`init: ${JSON.stringify(myArray)}`);
myArray = addColumns(myArray, 2, 'b');
console.log(`added 2 columns: ${JSON.stringify(myArray)}`);
myArray = addRows(myArray, 2, 'c');
console.log(`added 2 rows: ${JSON.stringify(myArray)}`);
console.log('expected: [["a","a","c","c"],["a","a","c","c"],["b","b","c","c"],["b","b","c","c"]]');
我不明白结果,我期待的是4x4数组。
init: [["a","a"],["a","a"]]
added 2 columns: [["a","a"],["a","a"],["b","b"],["b","b"]]
added 2 rows: [["a","a","c","c"],["a","a","c","c"],["b","b","c","c","c","c"],["b","b","c","c","c","c"]]
expected: [["a","a","c","c"],["a","a","c","c"],["b","b","c","c"],["b","b","c","c"]]