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

JavaScript技术问询:如何给数组中DAY01对象添加activity.hotel属性?

解决方案:将activity.hotel添加到day数组的DAY01对象中

嘿,这问题挺常见的,我来给你捋捋怎么轻松实现~首先先明确你的初始数据结构(我稍微补全了下方便演示):

const activity = { hotel: "XX酒店 - 豪华大床房" }; // 包含hotel属性的对象
const day = [ {day: 'DAY01'} , {day: 'DAY2'} ]; // 日程数组

下面是几种常用的实现方法:

方法一:用ES6+的find()方法(简洁首选)

这个方法会直接定位到数组中第一个符合条件的对象,然后给它添加属性就行——因为对象是引用类型,修改它会直接同步到原数组里:

// 找到day属性为'DAY01'的对象
const targetDay = day.find(item => item.day === 'DAY01');

// 先判断是否找到目标对象(避免找不到时报错)
if (targetDay) {
  targetDay.hotel = activity.hotel;
}

执行完后,day数组就会变成:

[ {day: 'DAY01', hotel: "XX酒店 - 豪华大床房"} , {day: 'DAY2'} ]

方法二:用for循环(兼容性拉满)

如果你的项目需要兼容旧环境(不支持ES6语法),用普通的for循环遍历也是个靠谱的选择:

for (let i = 0; i < day.length; i++) {
  if (day[i].day === 'DAY01') {
    day[i].hotel = activity.hotel;
    break; // 找到目标后就跳出循环,提升效率
  }
}

额外情况:如果有多个DAY01对象要修改

要是你的day数组里可能存在多个day: 'DAY01'的对象,想给它们都加上hotel属性,可以用forEach()遍历:

day.forEach(item => {
  if (item.day === 'DAY01') {
    item.hotel = activity.hotel;
  }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:13:13