gpt4 book ai didi

javascript - 将每个对象的元素插入另一个数组中的每个对象

转载 作者:行者123 更新时间:2023-11-30 11:07:00 25 4
gpt4 key购买 nike

我有两个数组,一个是我原来的数组,叫做data,它包括:

const datas = [
{
name: 'core Test',
item: [
{
name: 'test/core/core.js',
item: "item1"
}
]
},
{
name: 'users Test',
item: [
{
name: 'test/users/user.js',
item: "item2"
}
]
}
]

我还有另一个名为 replace 的数组,我试图将它的每个元素插入我的原始元素中,在

const replace = [
{
type: "test1",
number: "1",
},
{
type: "test2",
number: "2",
}
]

这是我的代码:

const transformedData = datas.map(data => {
data.item = data.item.map(x => ({
name: x.name,
type: replace.map(y=>{return y;})
}))
return data
})

我得到的输出:

[
{
"name": "core Test",
"item": [
{
"name": "test/core/core.js",
"type": [
{ "type": "test1", "number": "1" },
{ "type": "test2", "number": "2" }
]
}
]
},
{
"name": "users Test",
"item": [
{
"name": "test/users/user.js",
"type": [
{ "type": "test1", "number": "1" },
{ "type": "test2", "number": "2" }
]
}
]
}
]

我想要的输出:

[
{
"name": "core Test",
"item": [
{
"name": "test/core/core.js",
"type": { "type": "test1", "number": "1" }
}
]
},
{
"name": "users Test",
"item": [
{
"name": "test/users/user.js",
"type": { "type": "test2", "number": "2" }
}
]
}
]

最佳答案

这是因为每次您都在数据内部的值中时,您每次都在通过替换数组进行映射。相反,您想使用原始 map 跟踪索引,这样每次您只有一个实例。

尝试这样的事情:

const transformedData = datas.map((data, index) => {
data.item = data.item.map(x => ({
name: x.name,
type: replace[index]
}))
return data;
});

关于javascript - 将每个对象的元素插入另一个数组中的每个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55191855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com