Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将每个对象中的元素推送到另一个数组中的每个对象中_Javascript - Fatal编程技术网

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;
});