当初始数组包含未定义的元素时,此代码效果很好:
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 和未定义的元素。 预期结果:
[ [ "title", "t1", null, "t3" ] ]
最佳答案
您可以跳过 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);
关于javascript - 如何对包含 null 和未定义元素的数组使用分配函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53457724/