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

JavaScript中为现有对象数组添加关联数组元素的新键值对

给对象数组批量添加对应索引的新属性

你可以通过以下几种JavaScript方法实现需求,将reasons数组中对应索引的元素作为reason属性添加到对象数组的每个对象中:

方法1:使用Array.map()(推荐,不修改原数组)

该方法会生成新数组,原数组保持不变,适合需要保留原始数据的场景:

const reasons = ['a', 'b', 'c']; 
const originalArray = [
    { id: 1, Data: 'yes', active: true },
    { id: 2, Data: 'yes', active: false },
    { id: 3, Data: 'data', active: false }
];

const resultArray = originalArray.map((item, index) => {
    return {
        ...item, // 展开原对象的所有属性
        reason: reasons[index] // 添加新的reason属性
    };
});

console.log(resultArray);

方法2:使用Array.forEach()(直接修改原数组)

如果不需要保留原数组,可以直接遍历修改每个对象:

const reasons = ['a', 'b', 'c']; 
const originalArray = [
    { id: 1, Data: 'yes', active: true },
    { id: 2, Data: 'yes', active: false },
    { id: 3, Data: 'data', active: false }
];

originalArray.forEach((item, index) => {
    item.reason = reasons[index]; // 直接给原对象添加属性
});

console.log(originalArray);

额外提示

如果两个数组长度不一致,可添加默认值避免出现undefined:

const resultArray = originalArray.map((item, index) => {
    return {
        ...item,
        reason: reasons[index] || '无原因' // 当reasons对应索引无值时使用默认值
    };
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 20:03:13