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

如何按索引顺序将书籍数组的place属性替换为地点数组的name属性值

实现方案

1. 直接修改原数组(最简洁)

遍历书籍数组,按索引直接替换place属性即可,因为遍历边界是书籍数组的长度,天然自动忽略地点数组的多余元素:

booksArr.forEach((book, index) => {
  if (placeArr[index]) book.place = placeArr[index].name
})

更精简的一行写法:

booksArr.forEach((book, i) => placeArr[i] && (book.place = placeArr[i].name))

2. 不修改原数组,返回新数组

适合需要保留原始书籍数据的场景,用可选链+空值合并运算符处理地点数组长度不足的边界情况:

const newBooksArr = booksArr.map((book, i) => ({
  ...book,
  // 对应索引无地点数据时保留原有place值,不需要保留可直接写placeArr[i]?.name
  place: placeArr[i]?.name ?? book.place
}))

说明

两种实现都天然满足「地点数组更长时忽略多余元素」的需求,不需要额外做长度截断处理。如果要求地点数组长度不足时,对应书籍的place强制赋值为undefined,删除空值合并的后续逻辑即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 02:06:01