在Javascript中,我想要一个具有三个属性的对象,“zone1”,“zone2”,“zone3”,每个属性都存储一个地名数组。我想通过迭代数组来查找地名来搜索匹配项。 以下问题几乎让我明白了,但对我不起作用,因为我没有使用 jQuery,而且我想要值,而不是键:
- Performing a foreach over an associative array of associative arrays
- Getting a list of associative array keys
我的代码如下所示:
var zoneArray = {};
zoneArray["zone1"] = ["placeA", "placeB"];
zoneArray["zone2"] = ["placeC", "placeD"];
function getZone(place, zoneArray) {
var zone;
for (var key in zoneArray) {
for(i = 0; i<key.length; i++) {
if(key[i] == place) {
zone = key;
return zone;
}
}
}
}
getZone("placeC", climateZoneArray);
显然,“key[i]”指的是区域名称的字母,例如“z”“o”“n”“e”
有人可以帮助我理解或最好地处理 JavaScript 中的这种情况吗?
最佳答案
使用zoneArray[key]
访问数组。
for (var key in zoneArray) {
var arr = zoneArray[key]
for(i = 0; i<arr.length; i++) {
if(arr[i] == place) {
zone = key;
return zone;
}
}
}
关于javascript - 如何在javascript中使用 "for in"循环获取存储在对象中的键的数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24718694/