Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中初始化foreach语句中的id?_Javascript_Foreach_Initialization - Fatal编程技术网

如何在javascript中初始化foreach语句中的id?

如何在javascript中初始化foreach语句中的id?,javascript,foreach,initialization,Javascript,Foreach,Initialization,我想将max id添加到对象中。 我可以在数组中创建ID。 但是,我需要初始化第一个id,如136 这是我的数组 <script> const source = [ { "group": "418", "role": "304" }, { "role": "304" "group": "410" }, { "role": "304" "group": "420" } ]; var ids = 13

我想将max id添加到对象中。 我可以在数组中创建ID。 但是,我需要初始化第一个id,如136

这是我的数组

  <script>
  const source =  [
  {
   "group": "418",
   "role": "304" 
  },
  {
   "role": "304" 
   "group": "410"
   },
   {
   "role": "304" 
   "group": "420"
   }
];

  var ids = 135   
  source.forEach((item, i) => {
  item.id = i + 1;
  });

console.log(source);
</script>
我想从max id+1获取id 我已经从javascript中获得了像135一样的maxid

如何在foreach语句中初始化id

这正是我想要的

   [ {group: "418", role: "304", id: 136},
    {role: "304", group: "410", id: 137},
    {role: "304", group: "420", id: 138}]

非常感谢

您可以在每个循环中增加id

const source =  [{
  group: "418",
  role: "304" 
},
{
  role: "304",
  group: "410"
},
{
  role: "304",
  group: "420"
}];

var ids = 135   
source.forEach((item, i) => {
  item.id = ids++;
});

console.log(source);
只需添加偏移量(ids变量)

const源=[
{
“集团”:“418”,
“角色”:“304”
},
{
“角色”:“304”,
“组”:“410”
},
{
“角色”:“304”,
“组”:“420”
}
];
变量ID=135
source.forEach((项目,i)=>{
item.id=i+id+1;
});

console.log(源代码)
如果要创建新数组,可以使用带有闭包的
map
方法

const source=[{“组”:“418”,“角色”:“304”},{“角色”:“304”,“组”:“410”},{“角色”:“304”,“组”:“420”}]
constresult=(max=>source.map(o=>({…o,id:++max}))(135)

console.log(result)
您已经有了
i+1
,它为数组中的每个元素增加一个,并且您还没有尝试
ids+i
?只需将
id
变量添加到所有属性?应该是
+ids
,因为示例中的第一个元素以
136
开头
const source =  [{
  group: "418",
  role: "304" 
},
{
  role: "304",
  group: "410"
},
{
  role: "304",
  group: "420"
}];

var ids = 135   
source.forEach((item, i) => {
  item.id = ids++;
});

console.log(source);
  const startId = 135;
  const newSource = source.map((element, i) => {
      return Object.assign({}, element, {
          id: startId + i
      })
      })
  console.log(newSource)