首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从多个数组合并相应的元素

从多个数组合并相应的元素
EN

Stack Overflow用户
提问于 2022-12-02 20:08:58
回答 2查看 34关注 0票数 0

我有以下的投入

输入1

代码语言:javascript
复制
[{
    "id": "3857"
}, {
    "id": "57"
}]

输入2

代码语言:javascript
复制
[{
    "Date": "2022-11-30",
    "name": "salesorder",
    "brand": "Apple",
    "Requests": "111",
    "price": "917.65"
}, {
    "Date": "2022-11-13",
    "name": "orders",
    "brand": "TV",
    "Requests": "11",
    "price": "91.60"
}]

输入3

代码语言:javascript
复制
[{
    "count": "3"
}, {
    "count": "4"
}]

输入4

代码语言:javascript
复制
[{
    "stock": "21",
    "sold": "112"
}, {
    "stock": "2",
    "sold": "12"
}]

期望输出

代码语言:javascript
复制
[{
        "id": "3857",
        "Date": "2022-11-30",
        "name": "salesorder",
        "brand": "Apple",
        "Requests": "111",
        "price": "917.65",
        "count": "3",
        "stock": "21",
        "sold": "112"
    },
    {
        "id": "57",
        "Date": "2022-11-13",
        "name": "orders",
        "brand": "TV",
        "Requests": "11",
        "price": "91.60",
        "count": "4",
        "stock": "2",
        "sold": "12"
    }
]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-12-02 21:32:02

假设所有数组的大小相同,则可以使用映射的每个元素的索引号(默认情况下为$$)从每个项映射键值的每个元素的每个元素。

代码语言:javascript
复制
%dw 2.0
output application/json
var input1=[{"id": "3857"},{"id": "57"}]
var input2=[{"Date": "2022-11-30","name": "salesorder","brand": "Apple","Requests": "111","price":"917.65"},{"Date": "2022-11-13","name": "orders","brand": "TV","Requests": "11","price": "91.60"}] 
var input3=[{"count": "3" },{"count": "4" }]
var input4=[{"stock": "21","sold": "112"},{"stock": "2","sold": "12"}]
---
input1 map (input1[$$] ++ input2[$$] ++ input3[$$] ++ input4[$$])

输出:

代码语言:javascript
复制
[
  {
    "id": "3857",
    "Date": "2022-11-30",
    "name": "salesorder",
    "brand": "Apple",
    "Requests": "111",
    "price": "917.65",
    "count": "3",
    "stock": "21",
    "sold": "112"
  },
  {
    "id": "57",
    "Date": "2022-11-13",
    "name": "orders",
    "brand": "TV",
    "Requests": "11",
    "price": "91.60",
    "count": "4",
    "stock": "2",
    "sold": "12"
  }
]
票数 1
EN

Stack Overflow用户

发布于 2022-12-04 18:09:22

使用zip函数将数组组合在一起,然后使用++操作符将对象合并在一起:

代码语言:javascript
复制
(input1 zip input2) // produces an array of two element arrays
    map ($[0] ++ $[1]) // combines the two elements into a single object
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74660990

复制
相关文章

相似问题

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