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 }




javascript