Javascript Map Array Loop

时间:2013-08-04 14:45:21

标签: javascript jquery

我有这个简单的数组:

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

我想使用循环

找到BF的值

如何使用JQuery或Javascript循环执行此操作?

6 个答案:

答案 0 :(得分:3)

那是object literal而不是数组 你可以打电话:

gdpData.BF // -> returns 3

答案 1 :(得分:1)

你可以

var res = gdpData["BF"];

var res = gdpData.BF;

答案 2 :(得分:1)

您还可以使用jquery每个函数

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

jQuery.each(gdpData, function(key, value) {
    if(key == "BF") {
        alert(value)
    }
})

答案 3 :(得分:0)

for(var key in gdpData){
 if(gdpData[key] == "BF") // do something ...
}

请注意,您有一个对象,而不是数组。一个对象更像是一个hashmap

答案 4 :(得分:0)

当然,你可以使用你自己的个人循环,但是真的没有意义,因为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');

答案 5 :(得分:-4)

试试这个:

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

for(var i in gdpData){
    if("BF" === i){
        alert(gdpData[i]);
    }
}

抱歉'var'