具有属性的 Javascript 数组?

标签 javascript arrays object properties

好的,所以我不明白这是什么意思,在 chrome 控制台中我得到了这个:

enter image description here

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

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

最佳答案

你可以给数组一个属性,因为它是一个对象:

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]') {

关于具有属性的 Javascript 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21139298/

相关文章:

javascript - 暂停和重新启动按钮不起作用

保存 JSON 对象的 JavaScript/Node.js 最佳实践和检索特定值的最有效方法

javascript - 在 JavaScript 中为嵌套数组建立索引

javascript - 使用 Angular 中继器在表中的数据输出上使用函数

php - jquery 插件用于就地编辑表格单元格并保存到文件(还可以选择不同类型的输入)

javascript - 在 respond_to 中呈现不同的 Javascript 文件

java - 如何搜索内容与另一个数组匹配的一个数组?

python - 我无法理解类 <classname>(unicode) : in Python?

javascript - 修改参数中对象的函数,而不仅仅是属性

javascript - 如果选中单选按钮则隐藏内容