获取关联数组键的列表

2022-08-30 00:21:19

我在JavaScript中有一个关联数组:

var dictionary = {
    "cats": [1,2,3,4,5],
    "dogs": [6,7,8,9,10]
};

如何获取此字典的键?即,我想要

var keys = ["cats", "dogs"];

只是为了让术语正确 - JavaScript中没有“关联数组”这样的东西 - 这在技术上只是一个,它是我们想要的对象键。object


答案 1

试试这个:

var keys = [];
for (var key in dictionary) {
  if (dictionary.hasOwnProperty(key)) {
    keys.push(key);
  }
}

hasOwnProperty是必需的,因为可以将键插入 到 的原型对象中。但您通常不希望这些密钥包含在列表中。dictionary

例如,如果您这样做:

Object.prototype.c = 3;
var dictionary = {a: 1, b: 2};

然后做一个循环,你会得到 和 ,但你也会得到 .for...indictionaryabc


答案 2
for (var key in dictionary) {
  // Do something with key
}

这是为了..在语句中