Gdy początkowe tablice zawierają niezdefiniowane elementy, ten kod działa świetnie:
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);
Co powinienem zmienić, aby ten kod działał dla początkowych tablic, które mogą zawierać elementy null i elementy niezdefiniowane:
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);
Chciałbym uzyskać ten sam wynik, co w pierwszym przykładzie, ale dla tablic początkowych, które mogą zawierać elementy null i niezdefiniowane. Spodziewany wynik:
[ [ "title", "t1", null, "t3" ] ]
0
user10584873
24 listopad 2018, 14:37
1 odpowiedź
Najlepsza odpowiedź
Możesz pominąć wartości undefined
i 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);
1
Nina Scholz
24 listopad 2018, 15:01