[JQUERY] 자바 스크립트 객체의 필터 어레이
JQUERY자바 스크립트 객체의 필터 어레이
해결법
-
1.당신은 jQuery.grep ()를 사용할 수 있습니다 :
당신은 jQuery.grep ()를 사용할 수 있습니다 :
var found_names = $.grep(names, function(v) { return v.name === "Joe" && v.age < 30; });
DEMO : http://jsfiddle.net/ejPV4/
-
2.당신은 [] .filter 방법으로 아주 쉽게 할 수 있습니다 :
당신은 [] .filter 방법으로 아주 쉽게 할 수 있습니다 :
var filterednames = names.filter(function(obj) { return (obj.name === "Joe") && (obj.age < 30); });
이 MDN 페이지가 같은 코드를 제공합니다 : 당신은 [] .filter 메소드를 지원하지 않는 브라우저에 대한 심의를 추가해야합니다.
-
3.당신은 일치하는 요소의 하위 집합에서 요소를 반환 jQuery.filter () 함수를 이용할 수 있습니다.
당신은 일치하는 요소의 하위 집합에서 요소를 반환 jQuery.filter () 함수를 이용할 수 있습니다.
VAR 이름 = [ {이름 : "조", 연령 : 20, 이메일 : "joe@hotmail.com"}, {이름 : "마이크", 연령 : 50, 이메일 : "mike@hotmail.com"}, {이름 : "조", 연령 : 45, 이메일 : "mike@hotmail.com"} ]; VAR filteredNames = $ (이름) .filter (기능 (IDX) { 창 이름 [IDX] === .name을 "조"&& 이름 [IDX] .age <30; }); $ (filteredNames) .each (함수 () { . $ ( '# 출력') APPEND (this.name); }); <스크립트 SRC = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> script>
-
4.VAR 이름 목록 = {이름 : 'x'를, 연령 : 20, 이메일 : 'x@email.com '} {이름 : 'Y', 연령 : 60, 이메일 : 'y@email.com '} {이름 : '조', 연령 : 22, 이메일 : 'joe@email.com '} {이름 : 'ABC', 연령 : 40, 이메일 : 'abc@email.com '} ]; VAR filteredValue nameList.filter = (함수 (항목) { item.name == "조"&& item.age <30를 반환; }); 배열로 //을 참조하십시오 출력 결과 CONSOLE.LOG (JSON.stringify (filteredValue));
VAR 이름 목록 = {이름 : 'x'를, 연령 : 20, 이메일 : 'x@email.com '} {이름 : 'Y', 연령 : 60, 이메일 : 'y@email.com '} {이름 : '조', 연령 : 22, 이메일 : 'joe@email.com '} {이름 : 'ABC', 연령 : 40, 이메일 : 'abc@email.com '} ]; VAR filteredValue nameList.filter = (함수 (항목) { item.name == "조"&& item.age <30를 반환; }); 배열로 //을 참조하십시오 출력 결과 CONSOLE.LOG (JSON.stringify (filteredValue));
당신은 단순히 자바 스크립트를 사용할 수 있습니다 :
-
5.어떤 키를 사용하여 객체의 배열에서 필터 싶은 분들을 위해 :
어떤 키를 사용하여 객체의 배열에서 필터 싶은 분들을 위해 :
함수 filterItems (항목 searchVal) { 반환 items.filter ((항목) => Object.values (항목) .includes (searchVal)); } = [데이터하자 { "이름": "사과", "유형": "과일", "ID": 123234} { "이름": "고양이", "유형": "동물", "ID": 98989} { "이름": "뭔가", "유형": "기타", "ID": 656565}] 을 console.log ( "이름으로 필터링 :"filterItems (데이터, "사과")); CONSOLE.LOG ( "유형에 의해 필터링", filterItems (데이터 "동물")); ( "ID에 의해 필터링", filterItems (데이터, 656,565)) CONSOLE.LOG;
JSON 배열에서 필터 오브젝트 **
-
6.VAR 이름 = [{ 이름 : "조" 연령 : 20 이메일 : "joe@hotmail.com" }, { 이름 : "마이크" 나이 : 50, 이메일 : "mike@hotmail.com" }, { 이름 : "조" 나이 : 45, 이메일 : "mike@hotmail.com" } ]; CONST 입술 _.filter = (명 (이름) => { name.name == "조"&& name.age <30를 반환; }); CONSOLE.LOG (해상도); <스크립트 SRC = "https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.js"> script>
VAR 이름 = [{ 이름 : "조" 연령 : 20 이메일 : "joe@hotmail.com" }, { 이름 : "마이크" 나이 : 50, 이메일 : "mike@hotmail.com" }, { 이름 : "조" 나이 : 45, 이메일 : "mike@hotmail.com" } ]; CONST 입술 _.filter = (명 (이름) => { name.name == "조"&& name.age <30를 반환; }); CONSOLE.LOG (해상도); <스크립트 SRC = "https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.js"> script>
-
7.그래서 빠른 질문입니다. 당신이 객체의 두 배열을 가지고 있고 당신은 확실히 각 배열의 객체가 다른 배열의 같은 순서대로 할 수 있도록 이러한 객체 배열 '정렬'을 좋아하면? 당신이 객체의 배열의 내부에 어떤 키와 값을 모르는 경우 ... 훨씬 적은 무엇도에있어 주문할 포함?
그래서 빠른 질문입니다. 당신이 객체의 두 배열을 가지고 있고 당신은 확실히 각 배열의 객체가 다른 배열의 같은 순서대로 할 수 있도록 이러한 객체 배열 '정렬'을 좋아하면? 당신이 객체의 배열의 내부에 어떤 키와 값을 모르는 경우 ... 훨씬 적은 무엇도에있어 주문할 포함?
당신의 '와일드 카드 식'이 필요 귀하의 [] .filter, [] .MAP 등이 어떻게 와일드 카드 식을 얻을 수 있습니까?
var jux = (function(){ 'use strict'; function wildExp(obj){ var keysCrude = Object.keys(obj), keysA = ('a["' + keysCrude.join('"], a["') + '"]').split(', '), keysB = ('b["' + keysCrude.join('"], b["') + '"]').split(', '), keys = [].concat(keysA, keysB) .sort(function(a, b){ return a.substring(1, a.length) > b.substring(1, b.length); }); var exp = keys.join('').split(']b').join('] > b').split(']a').join('] || a'); return exp; } return { sort: wildExp }; })(); var sortKeys = { k: 'v', key: 'val', n: 'p', name: 'param' }; var objArray = [ { k: 'z', key: 'g', n: 'a', name: 'b' }, { k: 'y', key: 'h', n: 'b', name: 't' }, { k: 'x', key: 'o', n: 'a', name: 'c' } ]; var exp = jux.sort(sortKeys); console.log('@juxSort Expression:', exp); console.log('@juxSort:', objArray.sort(function(a, b){ return eval(exp); }));
또한 각 개체의 모든 키에 대한 더 나은 집단 표현식을 작성하는 각 개체에 대해 반복을 통해이 기능을 사용하고 배열 방법이를 필터링 할 수 있습니다.
이것은 면제, 객체의 단일성, 및 배열 응축이, 객체 평등하지 내가 거의 완료 가지고있는 API 나란히에서 작은 조각이다. 이러한 일들은 당신이 필요하거나 프로젝트하시기 바랍니다 코멘트 원하는 경우에 나는 조만간 lib 디렉토리에 액세스 할 수 있도록합니다.
도움이 되었기를 바랍니다! 행복 : 코딩
-
8.가장 간단하고 읽을 수있는 방법은 기본 자바 스크립트 필터 방식의 사용됩니다.
가장 간단하고 읽을 수있는 방법은 기본 자바 스크립트 필터 방식의 사용됩니다.
자바 네이티브 필터 배열 요소를 필터링의 선언적 방식 걸린다. 이 Array.prototype으로 정의하는 방법이기 때문에, 제공된 배열 반복 처리 그것에 콜백을 호출한다. 우리의 필터링 기능의 역할이 콜백은 세 개의 파라미터를 취
요소 - 배열의 존재에서 현재 항목 위에 반복
인덱스 - 이상 반복되는 배열의 현재 요소의 위치 또는 색인
어레이 - 필터 방법에 적용되었는지 원래 배열 다음의 예제에서이 필터 방법을 사용하자. 필터 어레이의 모든 종류에 적용될 수 있다는 것을 유의하여야한다. 이 예에서는, 오브젝트 속성에 기초하여 오브젝트의 배열을 필터링하려고한다.
이 같은 것을 볼 수 있었다 개체 속성에 기반하여 객체의 배열을 필터링의 예 :
// Please do not hate me for bashing on pizza and burgers. // and FYI, I totally made up the healthMetric param :) let foods = [ { type: "pizza", healthMetric: 25 }, { type: "burger", healthMetric: 10 }, { type: "salad", healthMetric: 60 }, { type: "apple", healthMetric: 82 } ]; let isHealthy = food => food.healthMetric >= 50; const result = foods.filter(isHealthy); console.log(result.map(food => food.type)); // Result: ['salad', 'apple']
기능의 배열을 필터링에 대한 자세한 내용과, 자신의 필터링을 구축이 문서를 체크 아웃 : https://medium.com/better-programming/build-your-own-filter-e88ba0dcbfae
from https://stackoverflow.com/questions/13594788/javascript-filter-array-of-objects by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] (즉시)을 사용하여 JQuery와 <input 타입 = "텍스트">에서의 모든 변경을 감지 (0) | 2020.10.05 |
---|---|
[JQUERY] 어떻게 바이너리 문자열에서 빌드 PDF 파일에 자바 스크립트를 사용하여 웹 서비스에서 반환 (0) | 2020.10.05 |
[JQUERY] jQuery를 사용하여 첫 번째 선택 목록 옵션에 따라 두 번째 선택 목록을 변경하려면 (0) | 2020.10.05 |
[JQUERY] jQuery를 객체 평등 (0) | 2020.10.05 |
[JQUERY] 어떻게을 가진 요소를 선택 jQuery를받을 수 있나요. 자신의 ID에서 (기간)? (0) | 2020.10.05 |