Javascript 将每个对象中的元素推送到另一个数组中的每个对象中
我有两个数组,一个是我原来的名为Javascript 将每个对象中的元素推送到另一个数组中的每个对象中,javascript,Javascript,我有两个数组,一个是我原来的名为data的数组,它包括: const datas = [ { name: 'core Test', item: [ { name: 'test/core/core.js', item: "item1" } ] }, { name: 'users Test', item: [ { name: 'test/users/user.js'
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" }
}
]
}
]
这是因为每次在数据中的某个值内时,都要通过replace数组进行映射。相反,您希望使用原始映射跟踪索引,这样每次只有一个实例 尝试以下方法:
const transformedData = datas.map((data, index) => {
data.item = data.item.map(x => ({
name: x.name,
type: replace[index]
}))
return data;
});