使用JavaScript查找关联数组中的键

时间:2016-08-04 02:51:37

标签: javascript arrays key associative-array

使用这个关联数组,我想找到一个特定的键:

var veggie_prices = new Array();
veggie_prices["serves6"] = 20;
veggie_prices["serves8"] = 25;
veggie_prices["serves10"] = 35;

如果我遍历数组,我可以找到以下值:

var x = veggie_prices[i].value;

但是如何找到钥匙呢?

var y = veggie_prices[i].key;

2 个答案:

答案 0 :(得分:3)

要直接回答您的问题,请使用for..in循环

var veggie_prices = new Array();
veggie_prices["serves6"] = 20;
veggie_prices["serves8"] = 25;
veggie_prices["serves10"] = 35;
for (var i in veggie_prices) {
  console.log(i); // output: serves6, etc..
}

但是,为了清楚起见,javascript没有关联数组。你拥有的是一个类型为array的对象,除了普通的(虽然目前是空的)索引和其他本机数组属性/方法(例如.length,{{1等等。)

答案 1 :(得分:2)

你为什么要使用数组?你可以改用对象吗?

var veggie_prices = {};
veggie_prices["serves6"] = 20;
veggie_prices["serves8"] = 25;
veggie_prices["serves10"] = 35;

Object.keys(veggie_prices).forEach((key) => {
  console.log('Key is: ' + key);
  console.log('Value is: ' + veggie_prices[key]);
});