本文翻译自:How to list the properties of a JavaScript object?

Say I create an object thus: 假设我创建了一个对象:

var myObject ={"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"};

What is the best way to retrieve a list of the property names? 检索属性名称列表的最佳方法是什么? ie I would like to end up with some variable 'keys' such that: 即我想最终得到一些变量'键',这样:

keys == ["ircEvent", "method", "regex"]

#1楼

参考:https://stackoom.com/question/s76/如何列出JavaScript对象的属性


#2楼

This will work in most browsers, even in IE8 , and no libraries of any sort are required. 这适用于大多数浏览器,即使在IE8中也是如此,并且不需要任何类型的库。 var i is your key. var i是你的关键。

var myJSONObject =  {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"};
var keys=[];
for (var i in myJSONObject ) { keys.push(i); }
alert(keys);

#3楼

在支持js 1.8的浏览器下:

[i for(i in obj)]

#4楼

Could do it with jQuery as follows: 可以用jQuery做到如下:

var objectKeys = $.map(object, function(value, key) {return key;
});

#5楼

Mozilla has full implementation details on how to do it in a browser where it isn't supported, if that helps: Mozilla有关于如何在不支持的浏览器中执行此操作的完整实现详细信息 ,如果有帮助:

if (!Object.keys) {Object.keys = (function () {var hasOwnProperty = Object.prototype.hasOwnProperty,hasDontEnumBug = !({toString: null}).propertyIsEnumerable('toString'),dontEnums = ['toString','toLocaleString','valueOf','hasOwnProperty','isPrototypeOf','propertyIsEnumerable','constructor'],dontEnumsLength = dontEnums.length;return function (obj) {if (typeof obj !== 'object' && typeof obj !== 'function' || obj === null) throw new TypeError('Object.keys called on non-object');var result = [];for (var prop in obj) {if (hasOwnProperty.call(obj, prop)) result.push(prop);}if (hasDontEnumBug) {for (var i=0; i < dontEnumsLength; i++) {if (hasOwnProperty.call(obj, dontEnums[i])) result.push(dontEnums[i]);}}return result;};})();
}

You could include it however you'd like, but possibly in some kind of extensions.js file at the top of your script stack. 您可以根据需要包含它,但可能包含在脚本堆栈顶部的某种extensions.js文件中。


#6楼

I'm a huge fan of the dump function. 我是转储功能的忠实粉丝。

http://ajaxian.com/archives/javascript-variable-dump-in-coldfusion http://ajaxian.com/archives/javascript-variable-dump-in-coldfusion

如何列出JavaScript对象的属性?相关推荐

  1. 如何枚举JavaScript对象的属性? [重复]

    本文翻译自:How do I enumerate the properties of a JavaScript object? [duplicate] This question already ha ...

  2. 如何动态合并两个JavaScript对象的属性?

    我需要能够在运行时合并两个(非常简单的)JavaScript对象. 例如,我想: var obj1 = { food: 'pizza', car: 'ford' } var obj2 = { anim ...

  3. javaScript 对象添加属性和创建js对象的方式(以及理解:“无法给构造函数添加新的属性“)

    1.javaScript 对象想要添加属性,非常简单 (1)直接添加,使用语法:objectName.propertyName 添加属性. 举例: var person = new Object(); ...

  4. 了解JavaScript 对象的属性操作

    提起操作, 很多人都会想到我们学习过程中最经常做的操作, 就是对数据库进行增, 删, 改, 查, 既然提到这个, 那么对于对象的属性操作也不例外, 基本上可以说也是这几个操作. JS中对象的属性标签 ...

  5. javaScript 对象访问属性的另一种方式

    var zhang={name:"zb",secondName:"xiaodaidai"}console.log(zhang["name"] ...

  6. JavaScript创建对象的两种方法和遍历对象的属性

    创建新对象有两种不同的方法: 定义并创建对象的实例 使用函数来定义对象,然后创建新的对象实例 1.定义并创建对象的实例 var person=new Object(); person.firstnam ...

  7. JavaScript对象属性及方法

    JavaScript对象属性及方法 1.对象属性 JavaScript对象时属性变量的容器,以键值对name:value的形式存在,访问方式为 name.value name[value] 2.对象方 ...

  8. JavaScript对象、基本类型和字面值之间的区别

    问题 人们经常会遇到诸如对象(object),基本类型(primitive)和字面值(literal)这样的术语,这三者之间有何区别.我们又如何分辨他们呢? 解决方案 一个JavaScript字面值表 ...

  9. 对象的属性名与属性值

    注意共有5个步骤,按顺序操作下去 1.在对象中保存的值称为属性,对象的属性名不强制要求遵守标识符规则,什么名称都可以,我对象属性的语法:1对象.属性名,注意:如果对象中没有的属性,不报错而是返回und ...

最新文章

  1. 读取手机联系人,并用listview显示
  2. StringBuilder类与String类的区别
  3. 《Windows 8 权威指南》——1.5 版本对比
  4. 【MFC】MFC开发之前言
  5. 【转载】2010年最全最新令人无语语录
  6. 吴恩达入驻知乎首答:如何系统学习机器学习?
  7. SpringBoot 2.x yml 文件中自定义参数解析对象
  8. windows7计算机用户账户,win7系统删除用户账户的方法(图文)
  9. 12月第三周各国域名总量榜:中国729万居全球第二
  10. 系统剪切板的使用UIPasteboard
  11. CSS实现左侧固定大小,右侧自适应的布局
  12. 刚接触新工作的程序员:不会打开终端窗口
  13. java是学习方程!
  14. 推荐几本微积分入门书籍
  15. css flex 布局 space-around 和 space-evenly 之间的区别css flex布局)
  16. xxm php,XXM个人知识管理工具 v6.0.5
  17. [MacOSX]_[LaunchDaemons]_[Mac OS X 安装Tomcat开机启动服务的方法之一]
  18. 流程图 选择结构 (一)
  19. maven打包失败解决方案
  20. VSCode 的 Live Share 功能终于来了

热门文章

  1. pthread_cond_wait()加一个while为什么的解释
  2. 总结一下对buffer的学习体会
  3. 算法------买卖股票的最佳时机
  4. 【剑指offer-Java版】01为了准备面试也为了提升编程技巧开始刷宝典了
  5. C#ReadLine()和ReadKey()区别
  6. flex 单独一行_Flex网页布局一CSS弹性伸缩盒子语法教程
  7. ConcurrentHashMap源码分析(2)——JDK1.8的实现
  8. 测试私有方法 重构_通过测试学Go:指针和错误
  9. P4318 完全平方数
  10. 20171218-编程语言的介绍