首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我希望将不同数组中的对象的值​组合起来,方法是对它们进行一边排序。

我希望将不同数组中的对象的值​组合起来,方法是对它们进行一边排序。
EN

Stack Overflow用户
提问于 2022-04-14 16:27:30
回答 3查看 154关注 0票数 2

我想将不同数组中的对象的值​​连接到一边。

我试图将json中接收的数据值输出到console.log。

我想把成分列表中的值​​放到列表数组中。

代码语言:javascript
复制
console.log(detail);

 {
       List: [
        {
          id: 120,
          content: "stack-overflow",
          functionalList: [
            {
                id: 832,
            },
          ],
        },
         {
          id: 230,
          content: "heap-overflow",
          functionalList: [
            {
                id: 24,
            },
          ],
        },
      ],

      ListValue: [
        {
          IngredientList: [
            {
                id: 1,
                value: 43
            },
             {
                id: 23,
                value: 23
            },
          ],
        },
      ],
    },
  ]);

我希望将ListValue -> IngredientList值​​放入List数组对象中。

我怎么能这样做呢?我试了一天,但这对我来说很难。

代码语言:javascript
复制
{
     List: [
      {
        id: 120,
        content: "stack-overflow",
        value: 43
        functionalList: [
          {
              id: 832,
              functionalId: 37
          },
        ],
      },
       {
        id: 230,
        content: "heap-overflow",
        value: 23
        functionalList: [
          {
              id: 24,
              functionalId: 12
          },
        ],
      },
    ],

    ListValue: [
      {
        IngredientList: [
          {
              id: 1,
              value: 43
          },
           {
              id: 23,
              value: 23
          },
        ],
      },
    ],
  },
]);
EN

回答 3

Stack Overflow用户

发布于 2022-04-14 16:41:23

即使在ListValue中有多个对象,这也应该可以以可变的方式工作:

代码语言:javascript
复制
data.List = [
  ...data.List,
  ...data.ListValue.reduce((arr, el) => {
    arr.push(...el.IngredientList);
    return arr;
  }, []),
];
票数 0
EN

Stack Overflow用户

发布于 2022-04-14 16:46:24

还不清楚IngredientList的哪个值应该放在List的哪个项中。假设您总是希望第一个值与第一个项对,第二个值与第二个项成对,依此类推……

代码语言:javascript
复制
const obj = {
  List: [
    {
      id: 120,
      content: "stack-overflow",
      functionalList: [
        {
          id: 832,
        },
      ],
    },
    {
      id: 230,
      content: "heap-overflow",
      functionalList: [
        {
          id: 24,
        },
      ],
    },
  ],

  ListValue: [
    {
      IngredientList: [
        {
          id: 1,
          value: 43,
        },
        {
          id: 23,
          value: 23,
        },
      ],
    },
  ],
};

const ingridientsValue = obj.ListValue[0].IngredientList.map(el => el.value); // [43, 23]

for (const item of obj.List) item.value = ingridientsValue.shift();

console.log(obj.List);

票数 0
EN

Stack Overflow用户

发布于 2022-04-14 17:07:03

,我已经解决了这个问题。请看这里: https://jsfiddle.net/bowtiekreative/o5rhy7c1/1/

首先,需要验证您的JSON。删除")“和”额外",“

指令

  1. 通过ListValue数组创建一个名为arr .
  2. 循环的空数组.为ListValue数组中的每一项创建
  3. ,通过IngredientList数组循环.
  4. 为IngredientList数组中的每一项将值属性推入arr数组.

H 114将arr数组记录到控制台。H 215g 216>

示例:

代码语言:javascript
复制
    var json = {
   "List":[
      {
         "id":120,
         "content":"stack-overflow",
         "functionalList":[
            {
               "id":832
            }
         ]
      },
      {
         "id":230,
         "content":"heap-overflow",
         "functionalList":[
            {
               "id":24
            }
         ]
      }
   ],
   "ListValue":[
      {
         "IngredientList":[
            {
               "id":1,
               "value":43
            },
            {
               "id":23,
               "value":23
            }
         ]
      }
   ]
};

var arr = [];
for (var i = 0; i < json.ListValue.length; i++) {
    for (var j = 0; j < json.ListValue[i].IngredientList.length; j++) {
        arr.push(json.ListValue[i].IngredientList[j].value);
    }
}

console.log(arr)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71874841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档