我想知道,我有这个拥有我需要的所有数据的数组。我希望能够做的是选择StateCode 5,它显示名称值等待银行业务详细信息
这是阵列布局。
var status = [
{StateCode:1, Name:"1st Email"},
{StateCode:2, Name:"1st Contact"},
{StateCode:4, Name:"2nd Email"},
{StateCode:3, Name:"Call Back"},
{StateCode:5, Name:"Awaiting Banking Details"},
{StateCode:6, Name:"Detail Form Emailed"},
{StateCode:7, Name:"Refused Banking Details"},
{StateCode:8, Name:"Signed Up Silver"},
{StateCode:9, Name:"Welcome Letter Emailed"},
{StateCode:10, Name:"Optimised on Web"},
{StateCode:11, Name:"Upgraded To Gold"},
{StateCode:12, Name:"Sent Upgrade Email"},
{StateCode:13, Name:"Upgraded to Platinum"},
{StateCode:14, Name:"Not Interested"}
];
答案 0 :(得分:2)
您必须迭代对象,并检查他们的StatusCode
:
var value;
$.each(status, function(){
if (this.StateCode == 5) {
value = this.Name;
return false;
}
});
答案 1 :(得分:1)
你走了:
$.each(status, function(i, value) {
if (value.StateCode === 5) {
alert(value.Name);
return false;
}
});
each
将对您传递给它的任何对象或数组起作用。请注意,它会将两个值传递给回调函数:集合中的索引和该索引处的值。
答案 2 :(得分:0)
如果您需要定期执行此操作,那么最好将此数据放入更好的查找表单中:
var status = [
{StateCode:1, Name:"1st Email"},
...
{StateCode:13, Name:"Upgraded to Platinum"},
{StateCode:14, Name:"Not Interested"}
];
function makeObj(array)
{
var out = {}, i, o;
for (i = 0; i < array.length; i++) {
o = array[i];
out[o.StateCode] = o.Name;
}
return(out);
}
var lookupState = makeObj(status);
然后,只要你想查找一个StateCode,就可以使用这种类型的代码:
var name = lookupState[x];