我想将一个对象的对象推入数组的第一个对象。 这是我的代码:
const titles = {
name: 'Not 1',
name2: 'Not 2',
};
const array = [{ type: 'type', titles: [] }];
let e;
for (const name in titles) {
e = titles[name];
}
array.push({ name: e });
这是我得到的结果:
[
{
"type": "type",
"titles": []
},
{ "name": "Not 2" }
]
这是我想要的结果:
[
{
"type": "type",
"titles": [
{ "name": "Not 1" },
{ "name": "Not 2" }
]
}
]
答案 0 :(得分:1)
访问对象,并使用推推数组中的另一个对象
const titles = {
name: 'Not 1',
name2: 'Not 2',
};
const array = [{
type: 'type',
titles: []
}, {
type: 'type',
titles: []
}];
let e;
for (const name in titles) {
e = titles[name];
array.forEach(x => x.titles.push({
name: e
}))
}
console.log(array)
答案 1 :(得分:0)
只需选择正确的数组元素并将其推入其内部数组即可。
const titles = {
name: 'Not 1',
name2: 'Not 2',
};
const array = [{ type: 'type', titles: [] }];
Object.keys(titles).forEach((key) => {
array[0].titles.push({name: titles[key]})
})
答案 2 :(得分:0)
您可以将push()
个值仅添加到array[0].titles
const titles = {
name: 'Not 1',
name2: 'Not 2',
};
const array = [{ type: 'type', titles: [] }];
for (const name in titles) {
array[0].titles.push(titles[name])
}
console.log(array);
答案 3 :(得分:0)
您可以将closeApplication()
与Object.entires
结合使用以形成单独的对象标题的数组,然后将Array.from
属性设置为与新数组相等:
titles
答案 4 :(得分:0)
如果要推送到一组项目。使用map
和Object.entries
const titles = {
name: 'Not 1',
name2: 'Not 2',
};
const array = [{
type: 'type',
titles: []
}, {
type: 'type2',
titles: []
}];
// re-build the titles before insert
const newTitles = Object.entries(titles).map(([first, second]) => ({[first]: second}))
// Insert for an array of items
const rs = array.map(({titles, ...rest}) => ({...rest, titles: newTitles}))
console.log(rs)