当前位置:  开发笔记 > 编程语言 > 正文

找到Javascript对象的长度

如何解决《找到Javascript对象的长度》经验,为你挑选了1个好方法。

我试图使用下面的代码找到report_data(对象)键的长度..但由于某些原因它产生值3.

a={report_freq: "daily", report_item_num: 2, report_num: 39, report_data: "{}"}
Object {report_freq: "daily", report_item_num: 2, report_num: 39, report_data: "{}"}
Object.getOwnPropertyNames(a.report_data).length
3

为了更清晰,我有了图像.

在此输入图像描述



1> JDB..:

a.report_data 是一个包含三个属性的字符串:

0,代表第一个字符("{").

1,代表第二个字符("}").

并且length,表示字符串(2)的长度.

这是一个有点反直觉的,如果你来自其他语言,这01是属性,但在Javascript数组的元素属性,就像所有其他属性,而"常规"属性可以使用数组语法(又名"访问括号标记 ") :

// "array elements"
a.report_data[0]        === "{";
a.report_data[1]        === "}";
// or...
a.report_data["0"]      === "{";
a.report_data["1"]      === "}";

// "normal" properties
a.report_data.length    === 2;
// or...
a.report_data["length"] === 2;

这些都是属性名称,因此,当您为字符串要求一组属性名称时,您会得到:

["0", "1", "length"]

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有