将对象嵌套在嵌套数组JavaScript中

假设e有一个parentArray,其中包含许多大小相同的子数组,每个子数组都是一个对象数组,其中包含两个属性:键和值。在子数组中,可以确认两个对象不能具有相同的键,但是所有子数组都具有相同的n个键对,其中n是子数组的大小。

我们的工作是准备一个以键为对象键的对象,值是一个包含该特定键的所有值的数组。

这是我们的示例父数组-

const parentArray = [[

   {

      key: 123,

      value: 'India'

   }, {

      key: 124,

      value: 'USA'

   }, {

      key: 125,

      value: 'Japan'

   }, {

      key: 126,

      value: 'Denmark'

   }, {

         key: 127,

      value: 'Austria'

   },

], [

   {

      key: 124,

      value: 'Kenya'

   }, {

      key: 126,

      value: 'UK'

   }, {

      key: 123,

      value: 'Germany'

   }, {

      key: 127,

      value: 'Spain'

   }, {

      key: 125,

      value: 'Portugal'

   },

]];

我们将依次遍历父数组,然后遍历所有子数组,如果找到匹配的键,则将其推入值数组,否则将创建一个新的值数组。

完整的代码将是-

示例

const parentArray = [[

   {

      key: 123,

      value: 'India'

   }, {

      key: 124,

      value: 'USA'

   }, {

      key: 125,

      value: 'Japan'

   }, {

      key: 126,

      value: 'Denmark'

   }, {

      key: 127,

      value: 'Austria'

   },

], [

   {

      key: 124,

      value: 'Kenya'

   }, {

      key: 126,

      value: 'UK'

   }, {

      key: 123,

      value: 'Germany'

   }, {

      key: 127,

      value: 'Spain'

   }, {

      key: 125,

      value: 'Portugal'

   },

]];

const map = {};

parentArray.forEach(arr => {

   arr.forEach(obj => {

      const { key, value } = obj;

      if(map[key]){

         map[key].push(value);

      }else{

         map[key] = [value]

      }

   })

});

console.log(map);

输出结果

控制台中的输出将为-

{

   '123': [ 'India', 'Germany' ],

   '124': [ 'USA', 'Kenya' ],

   '125': [ 'Japan', 'Portugal' ],

   '126': [ 'Denmark', 'UK' ],

   '127': [ 'Austria', 'Spain' ]

}

以上是 将对象嵌套在嵌套数组JavaScript中 的全部内容, 来源链接: utcz.com/z/343585.html

回到顶部