我有一个功能,它工作得很好,但代码检查表明这样做是不好的做法。我知道它甚至看起来不安全,但我无法想出另一种更好的方法。
function getCount(i) {
var iCount = iCount || 0;
for (var item in this.items) {
for (var level1 in this.items[item]) {
for (var level2 in this.items[item][level1]) {
for (var level3 in this.items[item][level1][level2]) {
if (this.items[item][level1][level2][level3] == i) {
iCount++;
}
}
}
}
}
return iCount;
}
在 Icycool 的建议之后,我想出了一些更容易接受的方法。我尝试使用 forEach 循环,但没有成功,所以我决定使用 fori。虽然它并不完美,但它现在可以做到:
function getCount(i) {
var iCount = iCount || 0;
for (var y = 0; y < this.items["content"].length; y++) {
if (this.items["content"][y]["custom_object"]["id"] === i) {
iCount++;
}
}
return iCount;
}