当初始数组包含未定义的元素时,此代码非常有用:
var x = [];
x[0] = ["title","t1"];
var y = []; y[0] = []; y[0][3]="t3";
console.log(x);
console.log(y);
y.forEach((subarr, i) => {
Object.assign(x[i], subarr);
});
console.log(x);
要使此代码适用于可能包含空元素和未定义元素的初始数组,我应该做些什么改变
var x = [];
x[0] = ["title","t1"];
var y = []; y[0] = [null,undefined,null,"t3"];
console.log(x);
console.log(y);
y.forEach((subarr, i) => {
Object.assign(x[i], subarr);
});
console.log(x);
我想得到与第一个示例相同的结果,但对于可能包含null和undefined元素的初始数组。 预期结果:
[ [ "title", "t1", null, "t3" ] ]
答案 0 :(得分:2)
您可以跳过undefined
和null
值。
var x = [["title", "t1"]],
y = [[null, undefined, null, "t3"]];
y.forEach((subarr, i) => subarr.forEach((v, j) => {
if (v === undefined || v === null) return;
x[i] = x[i] || [];
x[i][j] = v;
}));
console.log(x);