Javascript 通过添加具有数组顺序值的属性来修改数组对象

Javascript 通过添加具有数组顺序值的属性来修改数组对象,javascript,Javascript,我正在尝试变换数组中的对象,添加一个新属性number。此属性的值必须使用顺序值从数组集合中获取,以便第一个对象的值应为1,第二个对象的值应为3,第三个对象的值应为6第四个对象的值应为1,依此类推 这就是我一直在尝试的 const set=[1,3,6]; const data=[{id:1},{id:2},{id:3},{id:4},{id:5},{id:6}]; 设位置=0; 常量getItem=()=>{ 如果(位置===0){ 位置+=1; 返回集[0]; } if(位置({…条目,编

我正在尝试变换数组中的对象,添加一个新属性
number
。此属性的值必须使用顺序值从数组
集合
中获取,以便第一个对象的值应为
1
,第二个对象的值应为
3
,第三个对象的值应为
6
第四个对象的值应为
1
,依此类推

这就是我一直在尝试的

const set=[1,3,6];
const data=[{id:1},{id:2},{id:3},{id:4},{id:5},{id:6}];
设位置=0;
常量getItem=()=>{
如果(位置===0){
位置+=1;
返回集[0];
}
if(位置({…条目,编号:getItem()}));

log(输出);
您可以对索引进行闭包(通过数组长度的余数进行调整)并返回新对象

const
数字=[1,3,6],
data=[{id:1},{id:2},{id:3},{id:4},{id:5},{id:6}],
结果=data.map((i=>o=>({…o,number:numbers[i++%numbers.length]}))(0));
console.log(结果);

.as console wrapper{max height:100%!important;top:0;}
您可以对索引进行闭包(通过数组长度的余数进行调整)并返回新对象

const
数字=[1,3,6],
data=[{id:1},{id:2},{id:3},{id:4},{id:5},{id:6}],
结果=data.map((i=>o=>({…o,number:numbers[i++%numbers.length]}))(0));
console.log(结果);

.as控制台包装{max height:100%!important;top:0;}
getItem
需要将
位置
包装回开头。简单的方法是使用
位置=(位置+1)%set.length
,如下所示:

let position = -1;
const getItem = () => {
  position = (position + 1) % set.length;
  return set[position];
};
实时复制:

const set=[1,3,6];
const data=[{id:1},{id:2},{id:3},{id:4},{id:5},{id:6}];
设位置=-1;
常量getItem=()=>{
位置=(位置+1)%set.length;
返回设置[位置];
};
const output=data.map((条目,索引)=>({…条目,编号:getItem()}));

console.log(输出);
getItem
需要将
位置
包装回开头。简单的方法是使用
位置=(位置+1)%set.length
,如下所示:

let position = -1;
const getItem = () => {
  position = (position + 1) % set.length;
  return set[position];
};
实时复制:

const set=[1,3,6];
const data=[{id:1},{id:2},{id:3},{id:4},{id:5},{id:6}];
设位置=-1;
常量getItem=()=>{
位置=(位置+1)%set.length;
返回设置[位置];
};
const output=data.map((条目,索引)=>({…条目,编号:getItem()}));
console.log(输出);