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

使用原生JS关联两个对象数组生成新数组并输出配对内容

实现方案

你要做的是关联两个数组的同值字段,把手表和对应的颜色标签匹配后输出,有两种常见实现方式:

方法1:直接遍历匹配(小数据量适用)

直接在遍历手表数组时,用Array.find()匹配对应的颜色项,代码简单易读,数据量小的时候足够用:

watches.forEach(watch => {
  const targetColor = watch_colors.find(color => color.id === watch.color);
  console.log(`${watch.label} ${targetColor.label}`);
})

方法2:预建映射表(大数据量适用)

如果两个数组数据量很大,优先把颜色数组提前转换成以uuid为key的映射对象,查找效率会比每次遍历find高很多:

// 先构建颜色uuid到颜色名的映射
const colorMap = {};
watch_colors.forEach(color => {
  colorMap[color.id] = color.label;
});

// 遍历手表数组直接取映射值输出
watches.forEach(watch => {
  console.log(`${watch.label} ${colorMap[watch.color]}`);
});

如果需要兼容匹配不到颜色的异常场景,可以加个兜底逻辑:${colorMap[watch.color] || '未知颜色'}。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 03:45:03