带有属性的Javascript数组?

时间:2014-01-15 13:54:05

标签: javascript arrays object properties

好的,所以我不明白这意味着什么,在Chrome控制台中我得到了这个:

enter image description here

现在为什么cat4属性是一个0元素的数组但是有属性cat5?这是我用JSON.stringify()得到的:

{
    "cat0": [
        {
            "category": "cat0",
              ----...other properties here ...----
        }
    ],
    "cat4": [],
    "cat7": []
}

1 个答案:

答案 0 :(得分:3)

您可以将属性赋予数组,因为它是一个对象:

var a = [];
a.name = "value";
console.dir(a); // you see name:value when you open the tree

但是当JSON.stringify将其序列化为JSON时,会忽略这些属性,因为数组的字符串化是特定的:specification会将数组作为元素序列在JSON中进行字符串化(见2.3)。 JSON.stringify的实际实施现在取决于浏览器,但您可以在old Crockford's code中看到测试:

if (Object.prototype.toString.apply(value) === '[object Array]') {