2014-02-15 2 views
0

У меня есть этот массив с несколькими идентификаторами и высотами.Как я могу получить значение объекта из массива?

Как я могу получить высоту определенного идентификатора?

как получить значение обзора-1 из массива? который является «500px»?

спасибо.

ar=[]; 
ar.push({"id":"reiew-1","height":"500px"}); 

$.each(ar,function(index,value){ 

alert(value.height); // gets all the heights 

}); 

ответ

0

Вы можете пойти functional и сделать что-то вроде этого:

ar=[ 
    {"id":"reiew-1","height":"500px"}, 
    {"id":"reiew-2","height":"600px"}, 
    {"id":"reiew-3","height":"700px"}, 
]; 

filterById=function(value){ 
    return function(o){ 
     return o["id"]===value; 
    };   
} 

getAttribute=function(value){ 
    return function(o){ 
     return o[value]; 
    } 
} 

ar.filter(filterById("reiew-1")).map(getAttribute("height")) 

Что просто на глазах:]

Вот fiddle

Для получения дополнительной информации (например, о совместимости с браузером), вот ссылки MDN: Array.prototype.filter() и Array.prototype.map()

+0

ЭТО РАБОТАЛО ДЛЯ МНЕ спасибо :) – user3260392

1

Используйте, если условие в цикле

ar = []; 
ar.push({ 
    "id": "reiew-1", 
    "height": "500px" 
}); 

$.each(ar, function (index, value) { 
    if (value.id == 'reiew-1') { 
     alert(value.height); // gets all the heights 
     return false;//stop further looping of the array since the value you are looking for is found 
    } 
}); 
+0

спасибо, что помогли мне :) – user3260392

1

Таким образом, вы можете использовать только JavaScript методы, чтобы сделать это вещи

var ar=[]; 
ar.push({"id":"reiew-1","height":"500px"}, {"id":"reiew-3","height":"500px"}); 

// function that filter and return object with selected id 
function getById(array, id){ 
    return array.filter(function(item){ 
    return item.id == id; 
    })[0].height || null; 
} 

// now you can use this method 
console.log(getById(ar, "reiew-1")) 

Вы можете играть с этим кодом, demo

+0

Это в правильном направлении. Но он хочет «высоту» определенного «id»;) Возможно, вы добавите это в свой код. –

+0

извините)) Я потерял эту вещь)) –

Смежные вопросы