js 算数题,两个数组其中遍历一个数组根据索引找到另一数据相同索引的值,若超出则从0重新开始找

两个数组

let arr1 = [
  { name: '0', arr2Index: 0 },
 { name: '1', arr2Index: 0 },
 { name: '2', arr2Index: 0 },
 { name: '3', arr2Index: 0 },
 { name: '4', arr2Index: 0 },
 { name: '5', arr2Index: 0 },
 { name: '6', arr2Index: 0 },
 { name: '7', arr2Index: 0 },
];
let arr2 = [0,1,2];
// 期望得到以下新的数组
let newArr = [
{ name: '0', arr2Index: 0 },
 { name: '1', arr2Index: 1 },
 { name: '2', arr2Index: 2 },
 { name: '3', arr2Index: 0 },
 { name: '4', arr2Index: 1 },
 { name: '5', arr2Index: 2 },
 { name: '6', arr2Index: 0 },
 { name: '7', arr2Index: 1 },
]

arr2Index的值是遍历arr1,根据索引得到的arr2相同索引的值,若超出范围则从0重新开始

阅读 1.4k
1 个回答

let newArr = arr1.map((v,i) => ({...v, arr2Index: arr2[i%arr2.length]}))

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题