列出 JavaScript 对象的属性
使用 JavaScript 对象时,检索属性名称列表可能至关重要。假设你有一个定义如下的对象:
var myObject = {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"};
问题出现了:我们如何有效地获取属性名称列表(例如,[“ircEvent”,“method”,“regex”]) ?
现代浏览器:
在现代浏览器中,内置的 Object.keys 方法提供了一个优雅的解决方案:
var keys = Object.keys(myObject);
旧版浏览器的 Polyfill:
对于缺乏本机支持的浏览器,可以实现简化的 Polyfill :
var getKeys = function(obj) { var keys = []; for (var key in obj) { keys.push(key); } return keys; };
另一种方法涉及扩展对象原型:
Object.prototype.keys = function() { var keys = []; for (var key in this) { keys.push(key); } return keys; };
此方法允许您在任何对象上调用 .keys() 。然而,扩展原型可能会产生副作用,一般不建议这样做。
以上是如何高效获取JavaScript对象属性名列表?的详细内容。更多信息请关注PHP中文网其他相关文章!