javascript - Searching for value in specific location in array -


i have following array:

[     {         id: "12345",         name: "bryan"     },     {         id: "55555",         name: "justin"     } ] 

i want able search array item id of 55555 , able edit object inside array searching.

the way can think doing is:

function searchme(arr, where, equals) {     $.each(arr, function(key, value) {         if(value.where == equals) return value;         else return false;     }); }  console.log(searchme(arr, "id", "55555")); 

does have better way?

let's array of objects named things. using filter method can iterate on list , examine each element particular criteria. example:

var thing = things.filter(function (item) {     return "55555" === item.id })[0] // {id: "55555", name: "justin"} 

jsfiddle

explanation:

the filter method takes comparative function. each item in array passed function. items in array meets criteria in function, in case "55555" === item.id, returned in array assignment target.

since filter returns array of matches, i'm pulling 0 indexed [0] element @ end, object gets returned variable thing.


if want maintain object index, can added object first using map method, filter down desired object.

var thing = things.     map(function (item, idx) {         item.idx = idx         return item     }).     filter(function (item) {         return "55555" === item.id     })[0] // {id: "55555", name: "justin", idx: 1} 

jsfiddle index


Comments

Popular posts from this blog

shopping cart - Page redirect not working PHP -

php - How to modify a menu to show sub-menus -

python - Installing PyDev in eclipse is failed -