Я пытаюсь отобразить свой массив и добавить дополнительные поля, если выполняются условия .. Это работает! мой код добавить дополнительные поля мне нужно. Но проблема в том, что мой массив не возвращался полностью, вложенный массив объектов внутри возвращает null []. Я узнал, что синтаксис распространения вызывает проблему? Что мне делать?
Это мой образец массива:
data = [{
"a": 1,
"b": 5,
"c": [{
"a": 1,
"b": 5
}, {
"a": 1,
"b": 5
}]
},
{
"a": 2,
"b": 6,
"c": [{
"a": 1,
"b": 5
}, {
"a": 1,
"b": 5
}]
},
{
"a": 3,
"b": 7,
"c": [{
"a": 1,
"b": 5
}, {
"a": 1,
"b": 5
}]
}
]
Это мой код, который добавляет дополнительное поле при выполнении условий:
[{
"a": 1,
"b": 5,
"c": [],
"d": 3,
"e": 1,
},
{
"a": 2,
"b": 6,
"c": [],
"d": 2,
"e": 2
},
{
"a": 3,
"b": 7,
"c": [],
"d": 3,
"e": 7
}
]
data = [{
"a": 1,
"b": 5,
"c": [{
"a": 1,
"b": 5
}, {
"a": 1,
"b": 5
}]
},
{
"a": 2,
"b": 6,
"c": [{
"a": 1,
"b": 5
}, {
"a": 1,
"b": 5
}]
},
{
"a": 3,
"b": 7,
"c": [{
"a": 1,
"b": 5
}, {
"a": 1,
"b": 5
}]
}
]
const output = data.map(function(x) {
if (this.has(x.a)) {
return {
...x,
"d": "",
"e": this.size
};
}
this.add(x.a);
return {
...x,
"d": this.size,
"e": ""
};
}, new Set());
console.log(output);
Мне нужно, чтобы свойство letter c не возвращало null [], а возвращало те же данные, прежде чем я отобразил их.