You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何合并数组对象中的两个键值对?能否通过foreach实现?

合并数组对象内部键值对的实现方法

当然可以实现,下面提供几种常见的方式:

方式一:使用forEach遍历修改原数组

这种方式会直接修改原始数组的内容:

const originalArray = [
    {
        "id": "10bf820c19869d1097b0f056c924d9f8",
        "text1": "Text A",
        "text2": "Option"
    },
    {
        "id": "7b6a8f291986955097b0f056c924d981",
        "text1": "Text B",
        "text2": "Option"
    },
    {
        "id": "99ca5a64b45a551097b07caca12ca710",
        "text1": "Text C",
        "text2": "Option"
    }
];

originalArray.forEach(item => {
    // 合并text1与text2为新的text字段
    item.text = `${item.text1} - ${item.text2}`;
    // 删除不再需要的text1和text2字段
    delete item.text1;
    delete item.text2;
});

console.log(originalArray);

方式二:使用map创建新数组(推荐)

这种方式不会修改原数组,而是返回一个全新的目标数组,更符合函数式编程的规范:

const originalArray = [
    {
        "id": "10bf820c19869d1097b0f056c924d9f8",
        "text1": "Text A",
        "text2": "Option"
    },
    {
        "id": "7b6a8f291986955097b0f056c924d981",
        "text1": "Text B",
        "text2": "Option"
    },
    {
        "id": "99ca5a64b45a551097b07caca12ca710",
        "text1": "Text C",
        "text2": "Option"
    }
];

const targetArray = originalArray.map(item => ({
    id: item.id,
    text: `${item.text1} - ${item.text2}`
}));

console.log(targetArray);

两种方式都能达成你的需求,如果你需要保留原数组,优先选择map;如果不需要保留原数组,forEach也是高效的选择。

内容的提问来源于stack exchange,提问作者Jonis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 05:10:39