我正在尝试使用JavaScript对象作为关联数组,一切都很顺利,直到我需要获得存储在其中的条目数.最简单,最优雅的方法是什么?我能想到的只是运行for each循环或jQuery $.each函数,看看它会做多少迭代,但这看起来像是一件非常糟糕的事情.
Jam*_*mes 30
旧的Firefox支持该__count__属性.较新的环境支持ES5 Object.keys.对于较旧的环境,我们必须回退到迭代对象并手动计数(呃!):
function count(obj) {
if (obj.__count__ !== undefined) { // Old FF
return obj.__count__;
}
if (Object.keys) { // ES5
return Object.keys(obj).length;
}
// Everything else:
var c = 0, p;
for (p in obj) {
if (obj.hasOwnProperty(p)) {
c += 1;
}
}
return c;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16733 次 |
| 最近记录: |