각도 2로 검색 파이프를 만들 때 자바 스크립트 객체를 어떻게 필터링합니까?

zAPF

Angular 2에 대한 검색 파이프를 만들려고합니다. 중첩 된 개체를 가져 와서 검색어와 일치하는 개체를 필터링해야합니다. 기본 버전이 작동하지만 두 가지 문제가 있습니다.

문제 하나는 이제 키 이름을 하드 코딩하거나 JSON.stringify.

객체를 필터링하는 더 우아한 방법은 무엇이며 용어를 _id같은 하드 코딩 된 목록을 제외한 값과 일치시키는 것은 url무엇입니까?

두 번째 문제는 문자열 term에 공백이 포함되어 있으면이 를 분할하고 obj두 용어로 필터링하고 싶다는 것 입니다. 을 사용하여 분할 할 수 있습니다 terms = term.split(' ');.

하지만 여러 용어로 필터링을 수행하려면 어떻게해야합니까?

내 현재 코드 :

import {Pipe} from 'angular2/core';

@Pipe({
    name: "search"
})
export class SearchPipe{
    transform(obj: any, [term]) {
        if (obj != null && term) {
            return obj.filter( el => {

                //var test = JSON.stringify(el); 
                //return test.toLowerCase().includes(term.toLowerCase()); //trows a compile error but seems to work.

                return el.name.toLowerCase().includes(term.toLowerCase()) || el.place.toLowerCase().includes(term.toLowerCase()) || el.title.toLowerCase().includes(term.toLowerCase()) ;

            });

        } else {
            return obj;
        }
    }
}

예상 입력 형식 :

[
{
  "_id": "56ffbe512ba199777d51c6ae",
  "picture": "http://placehold.it/36x36",
  "name": "Melissa Reeves",
  "company": "Orbixtar",
  "place": "Greenwich, Belarus",
  "title": "voluptate est ipsum",
  "location": {
    "lat": -78.926961,
    "lng": 90.157653
  },
  "url": "http://lol.lol"
},
{
  "_id": "56ffbe5119cf66e94b3800b4",
  "picture": "http://placehold.it/36x36",
  "name": "Chelsea Lindsay",
  "company": "Squish",
  "place": "Vowinckel, Belarus",
  "title": "anim ea exercitation",
  "location": {
    "lat": 66.547582,
    "lng": 162.720388
  },
  "url": "http://lol.lol"
}
]

용어가 "term1""term1"이 포함 된 개체를 반환하고 싶습니다.

반면에 용어 인 경우 "term1 term2 term3"모든 용어를 포함하지만 반드시 특정 순서가 아닌 모든 개체를 반환하고 싶습니다.

Exaple로서.

용어 "Melissa"는 첫 번째 개체를 반환해야합니다.

용어 "Melissa Belarus"는 또한 첫 번째 객체 만 반환해야합니다. 두 번째 개체가 키 중 하나와 일치하더라도.

안킷 싱

이것을 시도하십시오 (예상되지 않음)

@Pipe({
  name: "search"
})
export class SearchPipe{
  transform(obj: any, [term]) {
    if (obj != null && term) {
      return obj.filter( el => {

        var test = JSON.parse(JSON.stringify(el));
        delete test['url'];
        delete test['_id'];

        var testString = JSON.stringify(test);

        Object.keys(test).forEach(k => {
          testString = testString.replace(k, '');
        });

        let terms = term.replace(/[\s]+/gm, " ").replace(/^[\s]|[\s]$/gm, "").split(' ');
        let containCount = 0;

        terms.forEach(t => {
          if(testString.toLowerCase().indexOf(t.toLowerCase()) > -1)
          {
            ++containCount;
          }
        });

        return (containCount == terms.length);
      });

    } else {
      return obj;
    }
  }
}

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

자바 스크립트 배열에서 객체를 어떻게 필터링하고 계산합니까?

분류에서Dev

정규식 자바 스크립트를 무작위로 검색하려면 어떻게해야합니까?

분류에서Dev

자바 스크립트에서 위도의 객체를 사용하여 Nokie HERE 맵 폴리 라인을 어떻게 만들 수 있습니까?

분류에서Dev

자바 스크립트 만 사용하여 두 개의 입력으로 가격 범위를 필터링하려면 어떻게해야합니까?

분류에서Dev

JSON 데이터를 자바 스크립트로 객체의 csharp 목록에 어떻게 푸시합니까?

분류에서Dev

이 배열을 어떻게 줄여서 각각의 객체가 자바 스크립트를 병합하지만 키 값 이름을 알지 못합니까?

분류에서Dev

자바 스크립트를 사용하여 스프라이트 시트로 애니메이션 버튼을 만들려면 어떻게해야합니까?

분류에서Dev

쉘 스크립트 바로 가기를 어떻게 만들 수 있습니까?

분류에서Dev

이러한 processing.js 함수를 자바 스크립트로 어떻게 만들 수 있습니까?

분류에서Dev

자바 스크립트 객체를 어떻게 렌더링합니까?

분류에서Dev

자바 스크립트로 요소를 만들 때 Bootstrap 툴팁이 작동하도록 할 수 없습니다.

분류에서Dev

새 객체를 만들 때 자바 스크립트에서 배열 속성이 새 객체로 초기화되지 않습니다.

분류에서Dev

이 json을 자바 스크립트로 어떻게 만들 수 있습니까?

분류에서Dev

스크립트 바로 가기를 만들고 .desktop 파일로 실행하려면 어떻게합니까?

분류에서Dev

검색 가능한 바로 가기 치트 시트를 만들려면 어떻게해야합니까?

분류에서Dev

자바 스크립트로지도를 원할 때만 객체를 사용하세요.

분류에서Dev

객체 자바 스크립트 배열에서 부울 필드를 확인하는 함수를 어떻게 만들 수 있습니까?

분류에서Dev

qrandom이 오류없이 실행중인 스크립트로 데이터를 올바르게 파이프하도록하려면 어떻게해야합니까?

분류에서Dev

Postgres에서 자바 스크립트 객체를 구조화 된 JSONB로 어떻게 변환합니까?

분류에서Dev

iframe 소스를 자바 스크립트로만 바꾸려면 어떻게해야합니까?

분류에서Dev

자바 스크립트 객체를 어떻게 결합 할 수 있습니까?

분류에서Dev

다차원 자바 스크립트 객체를 어떻게 정렬합니까?

분류에서Dev

이전에로드 된 스크립트의 객체에 의존 할 때 JavaScript를 어떻게`eslint`합니까?

분류에서Dev

자바 스크립트에서 테이블을 만들 때 노드 요소 기능이 어떻게 자동으로 실행되지 않습니까?

분류에서Dev

하이퍼 링크를 문자열에 병합하는 양식을 각도로 어떻게 만듭니 까?

분류에서Dev

자바 스크립트로 div를 사라지게 만들려고합니다.

분류에서Dev

쉘 스크립트가 프롬프트를 자동으로 받아들이도록하려면 어떻게해야합니까?

분류에서Dev

내 HTML 웹 사이트에 대한 비밀번호를 자바 스크립트로 만들려면 어떻게해야합니까?

분류에서Dev

bash 스크립트 출력 데이터를 올바르게 만들려면 어떻게해야합니까?

Related 관련 기사

  1. 1

    자바 스크립트 배열에서 객체를 어떻게 필터링하고 계산합니까?

  2. 2

    정규식 자바 스크립트를 무작위로 검색하려면 어떻게해야합니까?

  3. 3

    자바 스크립트에서 위도의 객체를 사용하여 Nokie HERE 맵 폴리 라인을 어떻게 만들 수 있습니까?

  4. 4

    자바 스크립트 만 사용하여 두 개의 입력으로 가격 범위를 필터링하려면 어떻게해야합니까?

  5. 5

    JSON 데이터를 자바 스크립트로 객체의 csharp 목록에 어떻게 푸시합니까?

  6. 6

    이 배열을 어떻게 줄여서 각각의 객체가 자바 스크립트를 병합하지만 키 값 이름을 알지 못합니까?

  7. 7

    자바 스크립트를 사용하여 스프라이트 시트로 애니메이션 버튼을 만들려면 어떻게해야합니까?

  8. 8

    쉘 스크립트 바로 가기를 어떻게 만들 수 있습니까?

  9. 9

    이러한 processing.js 함수를 자바 스크립트로 어떻게 만들 수 있습니까?

  10. 10

    자바 스크립트 객체를 어떻게 렌더링합니까?

  11. 11

    자바 스크립트로 요소를 만들 때 Bootstrap 툴팁이 작동하도록 할 수 없습니다.

  12. 12

    새 객체를 만들 때 자바 스크립트에서 배열 속성이 새 객체로 초기화되지 않습니다.

  13. 13

    이 json을 자바 스크립트로 어떻게 만들 수 있습니까?

  14. 14

    스크립트 바로 가기를 만들고 .desktop 파일로 실행하려면 어떻게합니까?

  15. 15

    검색 가능한 바로 가기 치트 시트를 만들려면 어떻게해야합니까?

  16. 16

    자바 스크립트로지도를 원할 때만 객체를 사용하세요.

  17. 17

    객체 자바 스크립트 배열에서 부울 필드를 확인하는 함수를 어떻게 만들 수 있습니까?

  18. 18

    qrandom이 오류없이 실행중인 스크립트로 데이터를 올바르게 파이프하도록하려면 어떻게해야합니까?

  19. 19

    Postgres에서 자바 스크립트 객체를 구조화 된 JSONB로 어떻게 변환합니까?

  20. 20

    iframe 소스를 자바 스크립트로만 바꾸려면 어떻게해야합니까?

  21. 21

    자바 스크립트 객체를 어떻게 결합 할 수 있습니까?

  22. 22

    다차원 자바 스크립트 객체를 어떻게 정렬합니까?

  23. 23

    이전에로드 된 스크립트의 객체에 의존 할 때 JavaScript를 어떻게`eslint`합니까?

  24. 24

    자바 스크립트에서 테이블을 만들 때 노드 요소 기능이 어떻게 자동으로 실행되지 않습니까?

  25. 25

    하이퍼 링크를 문자열에 병합하는 양식을 각도로 어떻게 만듭니 까?

  26. 26

    자바 스크립트로 div를 사라지게 만들려고합니다.

  27. 27

    쉘 스크립트가 프롬프트를 자동으로 받아들이도록하려면 어떻게해야합니까?

  28. 28

    내 HTML 웹 사이트에 대한 비밀번호를 자바 스크립트로 만들려면 어떻게해야합니까?

  29. 29

    bash 스크립트 출력 데이터를 올바르게 만들려면 어떻게해야합니까?

뜨겁다태그

보관