JSON 배열을 효율적으로 검색하는 방법

Vikasde

다음 코드는 잘 작동합니다.

var stores = new Array();
stores[0] = { ItemNumber: "2001", Code: "001", Qty: "1", OH: "1" };
stores[1] = { ItemNumber: "2002", Code: "002", Qty: "3", OH: "2" };
stores[2] = { ItemNumber: "2003", Code: "003", Qty: "5", OH: "8" };
stores[3] = { ItemNumber: "2001", Code: "004", Qty: "10", OH: "90" };

var item = "2001";
var code = "001";

var searchResult = jQuery.grep(stores, function (store, indexInArray) {
    var found = false;
    if (item != "" && code != "") {
        found = (store.Code == code) && (store.ItemNumber == item);
    }
    else if (item != "" && code == "") {
        found = (store.ItemNumber == item);
    }
    else if (code != "" && item == "") {
        found = (store.Code == code);
    }
    return found;
});

$.each(searchResult, function (index, obj) {
    console.log("found: " + obj.Code);
});

JSFiddle : http://jsfiddle.net/hwpnbkm3/

그러나 너무 많은 if / else 문이 있기 때문에 코드가 마음에 들지 않습니다. 또한 Qty 또는 OH로 검색하고 싶다면 훨씬 더 복잡해질 것입니다. 여러 개의 if / else 문없이이 배열을 검색하는 방법이 있습니까? 배열을 검색하는 동적 쿼리를 작성할 수 있습니까?

다크 팔콘

기능을 다음과 같이 단순화 할 수 있습니다.

return (item == "" || store.ItemNumber == item) &&
       (code == "" || store.Code == code) &&
       (item != "" || code != "");

그러나 내가 대신 권장하는 것은 쿼리에 대한 개별 변수를 갖는 대신 개체를 만드는 것입니다.

var stores = new Array();
stores[0] = { ItemNumber: "2001", Code: "001", Qty: "1", OH: "1" };
stores[1] = { ItemNumber: "2002", Code: "002", Qty: "3", OH: "2" };
stores[2] = { ItemNumber: "2003", Code: "003", Qty: "5", OH: "8" };
stores[3] = { ItemNumber: "2001", Code: "004", Qty: "10", OH: "90" };

var query = { ItemNumber: "2001", Code: "001" };

var searchResult = jQuery.grep(stores, function (store, indexInArray) {
    var found = false;
    for(var n in query) {
      if(query[n] != "") {
        if(query[n] != store[n]) {
          found = false;
          break;
        }
        found = true;
      }
    }
    return found;
});

$.each(searchResult, function (index, obj) {
    console.log("found: " + obj.Code);
});

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

JSON 배열을 효율적으로 검색하는 방법

분류에서Dev

3 색 사진을 효율적으로 압축하는 방법

분류에서Dev

numpy 2d 배열을 효율적으로 분산 플롯하는 방법

분류에서Dev

JSON 열에서 여러 속성을 효율적으로 추출하는 방법이 있습니까?

분류에서Dev

큰 코드 디렉토리에서 문자열 목록을 효율적으로 검색하는 방법

분류에서Dev

json 배열의 중첩 값을 재귀 적으로 검색하는 방법은 무엇입니까?

분류에서Dev

Eloquent로 빈 json 배열을 검색하는 방법은 무엇입니까?

분류에서Dev

JavaScript에서 배열 맵을 검색하는 가장 효율적인 방법

분류에서Dev

상위 순열을 효율적으로 계산하는 방법

분류에서Dev

Bigendian 형식으로 QByteArray에서 float 배열을 얻는 효율적인 방법

분류에서Dev

JSON 데이터를 효율적으로 포맷하는 방법

분류에서Dev

Rails에서 모델의 평균 등급을 효율적으로 평가하고 검색하는 방법

분류에서Dev

MATLAB에서 3 차원 배열을 2 차원 배열로 효율적으로 조작하는 방법

분류에서Dev

Swift3에서 1 차원 배열을 2 차원 배열로 효율적으로 변환하는 방법

분류에서Dev

JSON 배열을 조회하는 가장 효율적인 방법은?

분류에서Dev

PHP :이 문자열을 효율적으로 바꾸는 방법?

분류에서Dev

루트에서 트랙을 효율적으로 검색하는 방법은 무엇입니까?

분류에서Dev

C : 문자의 마지막 발생을 최대한 효율적으로 검색하는 방법

분류에서Dev

IQueryable에서 임의의 요소 목록을 효율적으로 검색하는 방법은 무엇입니까?

분류에서Dev

목록에서 항목을 효율적으로 검색하는 방법은 무엇입니까?

분류에서Dev

set python에서 정규식 검색을 효율적으로 반복하는 방법

분류에서Dev

배열을 유효한 JSON으로 변환하는 방법

분류에서Dev

JSON 열에서 필드를 효율적으로 추출하는 방법은 무엇입니까?

분류에서Dev

한 배열의 값 발생을 다른 배열의 위치에 효율적으로 합하는 방법

분류에서Dev

Angular : 데이터를 효율적으로 검색하는 방법

분류에서Dev

2 배열로 효율적으로 객체를 형성하는 방법

분류에서Dev

적을 효율적으로 죽이는 방법

분류에서Dev

PostgreSQL에서 json 열을 기반으로 열을 검색하는 방법

분류에서Dev

Pandas 데이터 프레임에서 배열을 열로 효율적으로 디코딩하는 방법

Related 관련 기사

  1. 1

    JSON 배열을 효율적으로 검색하는 방법

  2. 2

    3 색 사진을 효율적으로 압축하는 방법

  3. 3

    numpy 2d 배열을 효율적으로 분산 플롯하는 방법

  4. 4

    JSON 열에서 여러 속성을 효율적으로 추출하는 방법이 있습니까?

  5. 5

    큰 코드 디렉토리에서 문자열 목록을 효율적으로 검색하는 방법

  6. 6

    json 배열의 중첩 값을 재귀 적으로 검색하는 방법은 무엇입니까?

  7. 7

    Eloquent로 빈 json 배열을 검색하는 방법은 무엇입니까?

  8. 8

    JavaScript에서 배열 맵을 검색하는 가장 효율적인 방법

  9. 9

    상위 순열을 효율적으로 계산하는 방법

  10. 10

    Bigendian 형식으로 QByteArray에서 float 배열을 얻는 효율적인 방법

  11. 11

    JSON 데이터를 효율적으로 포맷하는 방법

  12. 12

    Rails에서 모델의 평균 등급을 효율적으로 평가하고 검색하는 방법

  13. 13

    MATLAB에서 3 차원 배열을 2 차원 배열로 효율적으로 조작하는 방법

  14. 14

    Swift3에서 1 차원 배열을 2 차원 배열로 효율적으로 변환하는 방법

  15. 15

    JSON 배열을 조회하는 가장 효율적인 방법은?

  16. 16

    PHP :이 문자열을 효율적으로 바꾸는 방법?

  17. 17

    루트에서 트랙을 효율적으로 검색하는 방법은 무엇입니까?

  18. 18

    C : 문자의 마지막 발생을 최대한 효율적으로 검색하는 방법

  19. 19

    IQueryable에서 임의의 요소 목록을 효율적으로 검색하는 방법은 무엇입니까?

  20. 20

    목록에서 항목을 효율적으로 검색하는 방법은 무엇입니까?

  21. 21

    set python에서 정규식 검색을 효율적으로 반복하는 방법

  22. 22

    배열을 유효한 JSON으로 변환하는 방법

  23. 23

    JSON 열에서 필드를 효율적으로 추출하는 방법은 무엇입니까?

  24. 24

    한 배열의 값 발생을 다른 배열의 위치에 효율적으로 합하는 방법

  25. 25

    Angular : 데이터를 효율적으로 검색하는 방법

  26. 26

    2 배열로 효율적으로 객체를 형성하는 방법

  27. 27

    적을 효율적으로 죽이는 방법

  28. 28

    PostgreSQL에서 json 열을 기반으로 열을 검색하는 방법

  29. 29

    Pandas 데이터 프레임에서 배열을 열로 효율적으로 디코딩하는 방법

뜨겁다태그

보관