gpt4 book ai didi

javascript - 两个数组元素组合的逻辑(Javascript/Typescript)

转载 作者:搜寻专家 更新时间:2023-10-30 21:27:10 25 4
gpt4 key购买 nike

这里提到的两种数组格式

const arr1 = [
{
"elementName": "one"
},
{
"elementName": "two"
}
]

const arr2 = [
{
"type": "RPT_PROPERTY_DEMOGRP",
"values": [
{
"label": "HH"
},
{
"label": "HH1"
}
]
},
{
"type": "RPT_PROPERTY_PLAYBACK_TYPE",
"values": [
{
"label": "WW"
},
{
"label": "WW1"
}
]
}
]

我需要这两个的组合

  1. '一个 HH WW'

    '一个 HH 第一次世界大战'

    '一个 HH1 WW'

    '一战HH1'

    '两个 HH WW'

    '两个 HH 第一次世界大战'

    '两个 HH1 WW'

    '两个 HH1 WW1'

如何用js或ts写逻辑

最佳答案

您可以使用迭代和递归方法。

const
cartesian = (a, b) => a.reduce((r, v) => r.concat(b.map(w => [].concat(v, w))), []),
arr1 = [{ elementName: "one" }, { elementName: "two" }]
arr2 = [{ type: "RPT_PROPERTY_DEMOGRP", values: [{ label: "HH" }, { label: "HH1" }] }, { type: "RPT_PROPERTY_PLAYBACK_TYPE", values: [{ label: "WW" }, { label: "WW1" }] }],
result = [
arr1.map(({ elementName }) => elementName),
...arr2.map(({ values }) => values.map(({ label }) => label))
].reduce(cartesian);

console.log(result.map(a => a.join(' ')));
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 两个数组元素组合的逻辑(Javascript/Typescript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52531097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com