Javascript映射数组循环

Javascript Map Array Loop

本文关键字:循环 数组 映射 Javascript      更新时间:2023-09-26

我有这个简单的数组:

var gdpData = {"CA": 1,"US": 2,"BF": 3,"DE": 4};

我想使用循环找到BF的值

如何使用JQuery或Javascript通过循环来实现这一点?

这是一个对象文字,而不是数组
您可以直接拨打:

gdpData.BF // -> returns 3

您可以

var res = gdpData["BF"];

var res = gdpData.BF;

您还可以使用jquery each函数

var gdpData = {"CA": 1,"US": 2,"BF": 3,"DE": 4};
jQuery.each(gdpData, function(key, value) {
    if(key == "BF") {
        alert(value)
    }
})
for(var key in gdpData){
 if(gdpData[key] == "BF") // do something ...
}

请注意,您有一个对象,而不是数组。一个对象更像一个散列映射

当然,您可以使用自己的个人循环,但这真的没有意义,因为javascript为您做了艰苦的工作。

var obj = { 'a':1, 'b':2, 'c':3 };
var res = obj['a'];

但如果你真的出于某种奇怪的原因想使用循环。。。

function findValue (obj, item) {
    for (key in obj) {
        if (key === item) {
            return obj[key]; // OH LOOK - that's exactly the same thing.
        }
    }
    return undefined;
}
var obj = { 'a':1, 'b':2, 'c':3 };
var res = findValue(obj, 'a');

试试这个:

var gdpData = {"CA": 1,"US": 2,"BF": 3,"DE": 4};
for(var i in gdpData){
    if("BF" === i){
        alert(gdpData[i]);
    }
}

抱歉出现"var"