javascript - 함수 - 자바 스크립트 배열 검색
객체 배열에서 일치하는 객체 찾기? (2)
jQuery 태그가 포함되었으므로 jQuery의지 map
사용하여이를 수행하는 한 가지 방법이있다.
var results = $.map( set, function(e,i){
if( e.color === 'green' ) return e;
});
배열에서 요소를 제거하기 위해 null
을 반환해야하지만, 주석에 jsFiddle로 표시된 것처럼 이것은 분명히 false입니다. 아무 것도 반환하지 않습니다 (즉, undefined
반환).
var set = [{"color":"blue"},{"color":"green"},{"color":"red"},{"color":"green"}];
나는 db 호출, set.find({"color":"green"})
과 같은 것을 할 수 있고 그 속성을 포함하는 객체들로 가득 찬 배열을 반환하게하고 싶습니다.
jquery에서 map 함수를 사용했고 검색된 키 값을 전달하여 선택된 인덱스를 얻고 있습니다.이 인덱스를 사용하여 배열에서 필요한 객체를 가져옵니다.
var mydata = [{ name: "Ram", Id: 1 }, { name: "Shyam", Id: 2 }, { name: "Akhil", Id: 3 }];
searchKey = 2
var mydata = [{ name: "Ram", Id: 1 }, { name: "Shyam", Id: 2 }, { name: "Akhil", Id: 3 }];
searchKey = 2
var selectedData = mydata[mydata.map(function (item) { return item.Id; }).indexOf(searchKey)];
console.log(selectedData)
var selectedData = mydata[mydata.map(function (item) { return item.Id; }).indexOf(searchKey)];
console.log(selectedData)
output
{ name: "Shyam", Id: 2 }
Note: if you want to pass search key as object then
searchKey = { Id: 2 };
mydata[mydata.map(function (item) { return item.Id; }).indexOf(searchKey.Id)];
output
{ name: "Shyam", Id: 2 }