javascript使用数值数组作为关联数组

Javascript中,我有一组对象,用户,这样用户[1] .name会给我该用户的名字.

我想使用该用户的ID作为索引而不是不断增加的计数器.
例如,我可以将第一个用户作为用户[45]发起.

但是,我发现一旦我做了用户[45],javascript就会把它变成一个数字数组,这样当我做users.length时,我得到46.

无论如何,在这种情况下强制它将数字视为字符串. (“”不起作用)?

解决方法:

您不能在JavaScript中使用此类函数的数组 – 有关更多信息,请参阅“Javascript Does Not Support Associative Arrays.”

确保将用户变量初始化为Object.在此对象中,您可以存储任意非顺序键.

var users = new Object();

// or, more conveniently:
var users = {};

users[45] = { name: 'John Doe' };

要获取对象中的用户数,这是从this SO answer中窃取的函数:

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));
上一篇:关于Byte(1) 与int (1) 比较原理


下一篇:c# – 将一串数字加密成一串字母数字