使用这个关联数组,我想找到一个特定的键:
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;
答案 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]);
});