簡體   English   中英

識別對象循環中的最后一次迭代

[英]Recognising last iteration in a Object loop

我有一個像這樣的對象:

var data = {
    "Something": true,
    "Something else": false,
    "Blah": false,
    "a fish": true
};

然后,我循環此Object,並將任何具有true的行的鍵添加到String

var stringContent = "";
for (var prop in data) {
    if (data[prop] === true) {
        stringContent += (prop) += ', ';
    }
}

因此,使用上面的代碼,字符串將是

Something, a fish

但是,我要識別的是添加到字符串中的最后一項。 對於最后一次迭代,我想將單詞And附加到字符串的開頭。 所以以上應該以

Something, and a fish

這可能嗎?

我認為這樣做。 您需要先消除錯誤的元素,然后才能嘗試剩下的東西

let trues = Object.keys(data)
.filter(k => data[k])

return trues.slice(0,-1)
.join(',')
+ ', and ' + trues.slice(-1)[0]

也可以通過這種方式完成。

        var inputstr = "Something, a fish";
        var values = inputstr.split(',');
        var last =" and " + values[values.length - 1];
        var lastIndex = str.lastIndexOf(',');
        str = str.substring(0, lastIndex);
        var finalstr= str + last;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM