-1

我有这个简单的数组:

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

我想使用循环找到 BF 的值

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

4

6 回答 6

3

这是一个对象文字,而不是一个数组。
你可以打电话:

gdpData.BF // -> returns 3
于 2013-08-04T14:48:05.427 回答
1

你也可以使用jquery的每个函数

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

jQuery.each(gdpData, function(key, value) {
    if(key == "BF") {
        alert(value)
    }
})
于 2013-08-04T15:38:06.647 回答
1

你可以

var res = gdpData["BF"];

或者

var res = gdpData.BF;
于 2013-08-04T14:54:24.533 回答
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');
于 2013-08-04T15:48:42.143 回答
0
for(var key in gdpData){
 if(gdpData[key] == "BF") // do something ...
}

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

于 2013-08-04T14:49:06.927 回答
-4

尝试这个:

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

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

对不起'var'

于 2013-08-04T14:49:22.917 回答