Wil*_*ham 3 javascript arrays associative-array numeric
在Javascript中,我有一组对象,用户,这样用户[1] .name会给我该用户的名字.
我想使用该用户的ID作为索引而不是不断增加的计数器.例如,我可以将第一个用户作为用户[45]发起.
但是,我发现一旦我做了用户[45],javascript就会把它变成一个数字数组,这样当我做users.length时,我得到46.
无论如何,在这种情况下强制它将数字视为字符串.(""不起作用)?
Jon*_*ier 11
您不能在JavaScript中使用此类函数的数组 - 有关更多信息,请参阅"Javascript不支持关联数组".
确保将users变量初始化为Object.在此对象中,您可以存储任意非顺序键.
var users = new Object();
// or, more conveniently:
var users = {};
users[45] = { name: 'John Doe' };
Run Code Online (Sandbox Code Playgroud)
为了获得对象中的用户数量,这是从这个SO答案中窃取的函数:
Object.size = function(obj) {
var size = 0, key;
for (key in obj) {
if (obj.hasOwnProperty(key)) size++;
}
return size;
};
var users = {};
// add users..
alert(Object.size(users));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5433 次 |
| 最近记录: |