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

如何为嵌套对象数组的指定元素新增键,值从另一数组顺序分配

实现方案

你只需要在遍历前声明一个专门统计orange类型元素出现顺序的计数器即可,每次命中orange类型元素时用计数器作为索引取值,用完后计数器自增即可。

完整代码

// 初始化orange元素顺序计数器,从0开始对应arrOfProps的第一个元素
let orangeIndex = 0;
arrOfItems.forEach(element => {
    if(element.type === "orange") {
        // 按当前顺序取对应prop值,修正了你原代码里obj的笔误,应为当前遍历对象element
        element.attrs["class"] = arrOfProps[orangeIndex];
        // 计数器自增,下一个orange取下一个值
        orangeIndex++;
        // 可选兜底逻辑:如果orange数量超过arrOfProps长度想循环取值,替换上面两行即可
        // element.attrs["class"] = arrOfProps[orangeIndex % arrOfProps.length];
        // orangeIndex++;
    }
})

逻辑说明

  • 计数器orangeIndex只会在命中type="orange"的元素时才会累加,apple类型的元素不会影响计数顺序,完全符合「第一个orange取prop_1、第二个取prop_2」的要求
  • 可选的取模兜底写法可以避免props数组长度不够时出现undefined的问题,若业务场景中orange数量不会超过props数组长度可以不用添加

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 07:45:01