繁体   English   中英

使用Object Javascript在foreach循环中的最后一次迭代

[英]Last iteration in foreach loop with Object Javascript

我有一个像这样的对象。

objName {
 item1 : someItem,
 item2 : someItem,
 item3 : someItem,
}

现在属性的数量是动态的,可以增加未知量,我在这个对象的属性键中执行foreach循环,就像这样。

Object.keys(objName).forEach(itemNumber => {
console.log(itemNumber);
});

我如何检测它的最后一次迭代来执行一项新任务?

您可以使用索引和数组参数来检查是否存在下一个元素。 您还可以检查当前索引是否等于length - 1 index == arr.length - 1

 let objName = { item1 : "someItem", item2 : "someItem", item3 : "someItem", } Object.keys(objName).forEach((item, index, arr) => { console.log(item); if(!arr[index + 1]) console.log('End') }); 

首先找到对象的长度,如下所示:

var objLength= Object.keys(objName).length;

然后你可以像这样使用:

var count = 0;

Object.keys(objName).forEach(item => {
    console.log(item);
    count++;
    if (count == objLength)
    {
        console.log("endOfLoop");
    }
});

你可以像下面的代码一样将index和value传递给forEach函数,并使用Object.keys(objName)。length来获取对象长度,然后是最后一个成员objName [value]

 var objName = {
 item1 : "someItem",
 item2 : "someItem",
 item3 : "someItem3",
}
Object.keys(objName).forEach((value, index) => {
if(index==Object.keys(objName).length-1){
  console.log(objName[value]);
}
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM