programing

jQuery grep()를 사용한 JSON 배열 필터링

bestprogram 2023. 3. 18. 09:30

jQuery grep()를 사용한 JSON 배열 필터링

저는 이 사이트에서 많은 예를 찾아봤지만 제 요구에 맞지 않는 것 같습니다.를 사용하여 몇 가지 JSON 결과를 필터링하면 됩니다.

JSON은 다음과 같습니다.

var data = { "items": [
    {
        "id":       1,
        "category": "cat1"
    },
    {        
        "id":       2,
        "category": "cat2"
    },
    {
        "id":       3,
        "category": "cat1"
    }
]}


위의 예에서

  • 카테고리의 모든 아이템을 반품하려면 어떻게 해야 합니까?cat1?
  • 카테고리의 모든 아이템을 반품하려면 어떻게 해야 합니까?cat1그리고.id3개요?

이것이 좋은 예가 아니라는 것을 알지만 어떤 도움도 대단할 것이다!감사합니다!

나는 다음과 같은 변형을 시도했다.

data.items = $.grep(data.items, function(element, index) {
    return element.id == 1;
    console.log(data.items);
});
var data = {
    "items": [{
        "id": 1,
        "category": "cat1"
    }, {
        "id": 2,
        "category": "cat2"
    }, {
        "id": 3,
        "category": "cat1"
    }]
};

var returnedData = $.grep(data.items, function (element, index) {
    return element.id == 1;
});


alert(returnedData[0].id + "  " + returnedData[0].category);

returnedData가 객체 배열을 반환하고 있으므로 어레이 인덱스로 액세스할 수 있습니다.

http://jsfiddle.net/wyfr8/913/

var data = {
  "items": [{
    "id": 1,
    "category": "cat1"
  }, {
    "id": 2,
    "category": "cat2"
  }, {
    "id": 3,
    "category": "cat1"
  }, {
    "id": 4,
    "category": "cat2"
  }, {
    "id": 5,
    "category": "cat1"
  }]
};
//Filters an array of numbers to include only numbers bigger then zero.
//Exact Data you want...
var returnedData = $.grep(data.items, function(element) {
  return element.category === "cat1" && element.id === 3;
}, false);
console.log(returnedData);
$('#id').text('Id is:-' + returnedData[0].id)
$('#category').text('Category is:-' + returnedData[0].category)
//Filter an array of numbers to include numbers that are not bigger than zero.
//Exact Data you don't want...
var returnedOppositeData = $.grep(data.items, function(element) {
  return element.category === "cat1";
}, true);
console.log(returnedOppositeData);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p id='id'></p>
<p id='category'></p>

$.grep()method는 필요에 따라 배열에서 항목을 제거하여 나머지 항목만 지정된 검색을 수행하도록 합니다.테스트는 어레이 항목과 어레이 내 항목의 인덱스를 전달하는 함수입니다.테스트 결과 true가 반환된 경우에만 해당 항목이 결과 배열에 포함됩니다.

언급URL : https://stackoverflow.com/questions/21172289/filtering-json-array-using-jquery-grep