假设我创建了一个对象:

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

检索属性名称列表的最佳方式是什么?i、 e.我想以一些变量"键"结束,这样:

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

推荐答案

在现代浏览器(IE9+、FF4+、Chrome5+、Opera12+、Safari5+)中,您可以使用内置的Object.keys方法:

var keys = Object.keys(myObject);

以上为完整的polyfill,但简化版为:

var getKeys = function(obj){
   var keys = [];
   for(var key in obj){
      keys.push(key);
   }
   return keys;
}

或者,将var getKeys替换为Object.prototype.keys,以便对任何对象调用.keys().扩展原型有一些副作用,我不建议这样做.

Javascript相关问答推荐

reaction如何在不使用符号的情况下允许多行返回?

为什么在集内和集外会产生不同的promise 状态(使用Promise.race)?

不渲染具有HTML参数的React元素

Next.js Next/Image图像隐含性有任何类型-如何修复?

单击更新页面的按钮后,页面刷新;测试/断言超时,有两个标题,但没有一个标题

通过嵌套模型对象进行Mongoose搜索

使用复选框在d3.js多折线图中添加或删除线条

从Node JS将对象数组中的数据插入Postgres表

我可以使用空手道用户界面来获取网页的当前滚动位置吗?

ChartJs未呈现

将内容大小设置为剩余可用空间,但如果需要,可在div上显示滚动条

如何将innerHTML字符串修剪为其中的特定元素?

无法读取未定义的属性(正在读取合并)-react RTK

使每个<;li>;元素的 colored颜色 与随机生成的 colored颜色 列表不同(不重复

使用自动识别发出信号(&Q)

如何在TransformControls模式下只保留箭头进行翻译?

我怎样才能点击一个元素,并获得一个与 puppeteer 师导航页面的URL?

在Puppeteer中使用promise进行日志(log)记录时出现TargetCloseError

如何将对象推送到firestore数组?

KeyboardEvent:检测到键具有打印的表示形式