开发者

jquery - get an array value

开发者 https://www.devze.com 2023-04-06 05:07 出处:网络
I am wondering, i have this array that has all the data I need. What I want to be able to do, is select StateCode 5 and it shows the name value Awaiting Banking Details

I am wondering, i have this array that has all the data I need. What I want to be able to do, is select StateCode 5 and it shows the name value Awaiting Banking Details

Here is the array layout.

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开发者_StackOverflow社区:"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"}
];


You'll have to iterate over your objects, and check their StatusCode:

var value;
$.each(status, function(){
    if (this.StateCode == 5) {
        value = this.Name;
        return false;
    }
});


Here you go:

$.each(status, function(i, value) {
   if (value.StateCode === 5) {
      alert(value.Name);
      return false;
   }
});

each will work on any object or array you pass into it. Note that it will pass two values to the callback function: the index into the collection and the value at that index.


If you need to do this regularly, then it's better to put this data into a better form for lookup:

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);

Then, whenever you want to look up a StateCode, you can do so with this type of code:

var name = lookupState[x];
0

精彩评论

暂无评论...
验证码 换一张
取 消