[英]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.