使用金额从json对象获取一个月

时间:2014-01-17 07:45:10

标签: javascript json

我有一个变量是store diff。 amount147421一样{。}} 我希望找到这个数量,希望在month

中显示JSON

我的JSON对象如下所示:

var array = [
    {
        amount: 12185,
        month: "JANUARY",
        year: "2010"
    },
    {
        amount: 147421,
        month: "MAY",
        year: "2010"
    },
    {
        amount: 2347,
        month: "AUGUST",
        year: "2010"
    }
];

我该怎么做? 选择amount == 12185

的月份

5 个答案:

答案 0 :(得分:6)

您可以使用.filter

过滤数据
var result = array.filter(function(item) {
    return item.amount == 12185;
});

<强> DEMO

答案 1 :(得分:1)

你可以使用这样的功能;虽然数组必须是全局的。 这是一个JSFiddle

function getMonth(amount){

    month = "";

    for(i = 0;i<array.length.i++){
        if(array[i].amount === amount){
            month = array[i].month;
            break;
        }
    }

    return month;
}

答案 2 :(得分:0)

这是工作Fiddle

var result;
var your_value=12185;
for(var i=0;i<array.length;i++)
{
    if (your_value == array[i].amount)
    {
        result=array[i].month;
        break;
    }
}
alert(result);

答案 3 :(得分:0)

尝试使用过滤器

function getMonth(a)
{
    var j = array.filter(function(i)
            {
               if(i.amount === a)
               {
                  return i.month;
               }
            });

    return j[0].month; // here we get first matched result
}

var res = getMonth(12185);

res将包含JANUARY。

答案 4 :(得分:0)

试试这个动态代码

 <div><input type="button" value="12185" class="className"/>
 <input type="button" value="147421"  class="className"/>
 </div>

for (var i in my_object) {
    var cur = my_object[i];
    $('input[value=' + cur.amount + ']').each(function() {
        var msg = 'Sales Month: ' + cur.month + ' Number: ' + cur.year;

        $(this).parent('div').append('<div>' + msg + '</div>');
    });
}

小提琴:http://jsfiddle.net/jeyashri/HdgmN/3/