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(输出);