我有一个变量是store diff。 amount
与147421
一样{。}}
我希望找到这个数量,希望在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
答案 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>');
});
}