객체 배열을 자바 스크립트의 다른 객체 배열로 필터링하는 방법은 무엇입니까?

수전

두 개의 객체 배열이 있습니다. PermissionObj를 기반으로 데이터를 필터링하고 싶습니다.

이것은 오는 양식 데이터베이스입니다. 다음은 permissionObj의 하위 배열 배열입니다.

    const PermissionObj = {
     permission: [{
       "books": [{
        "label": "Can View",
        "value": "can_view"
       }]
      },
      {
       "Journals": [{
         "label": "Can View",
         "value": "can_view"
        },
        {
         "label": "Can Create",
         "value": "can_create"
        },
       ]
      },
      {
       "deal": [{
         "label": "Can update",
         "value": "can_update"
        },
        {
         "label": "Can delete",
         "value": "can_delete"
        },
       ]
      }
     ]
    }

이것은 정적 데이터입니다. PermissionObj를 기반으로이 데이터를 비교하고 싶습니다.

const data = [{
  label: "books",
  value: "can_view"
 },
 {
  label: "deal",
  content: [{

   value: "can_update"
  }, {
   value: "can_delete"
  },{value:"can_view"}]
 },
 {
  label: "Articles",

 },
 {
  label: "Journals",
  content: [{
    value: "can_create"
   },
   {
    value: "can_view"
   },
  {
    value: "can_delete"
   },
 {
    value: "can_edit"
   },

  ]
 }
]

PermissionObj 개체 배열을 기반으로 개체의 필터 데이터 배열을 시도하고 있습니다 . 여기 내 시도 코드입니다.

let permission = PermissionObj.permission 

permission.filter(item=>{
  // I am finding data label by using permission label.

 let dataItem = data.find(index=>item[index.label])

 console.log(dataItem)

})

  // the problem is that I want to filtering based on value .

  // if both of value is true , then show the data . 

PermissionObj 값이 데이터 값과 일치하는 경우. 그런 다음 데이터를 표시합니다.
내 허용 출력은 다음 형식입니다.

const data = [{
  label: "books",
  value: "can_view"
 },
 {
  label: "deal",
  content: [{
   value: "can_update"
  }, {
   value: "can_delete"
  }]
 },
 {
  label: "Journals",
  content: [{
    value: "can_create"
   },
   {
    value: "can_view"
   },


  ]
 }
]
Sivako

keysPermissionObj에서 첫 번째 빌드 . 라벨이에 포함 된 데이터 배열에 필터를 사용합니다 keys.

const PermissionObj = {
  permission: [
    {
      books: [
        {
          label: "Can View",
          value: "can_view"
        }
      ]
    },
    {
      Journals: [
        {
          label: "Can View",
          value: "can_view"
        },
        {
          label: "Can Create",
          value: "can_create"
        }
      ]
    },
    {
      deal: [
        {
          label: "Can update",
          value: "can_update"
        },
        {
          label: "Can delete",
          value: "can_delete"
        }
      ]
    }
  ]
};

const data = [
  {
    label: "books",
    value: "can_view"
  },
  {
    label: "deal",
    content: [
      {
        value: "can_update"
      },
      {
        value: "can_delete"
      }
    ]
  },
  {
    label: "Articles"
  },
  {
    label: "Journals",
    content: [
      {
        value: "can_create"
      },
      {
        value: "can_view"
      }
    ]
  }
];

const perm = {};
PermissionObj.permission.forEach(item =>
  Object.entries(item).forEach(([key, values]) => {
    perm[key] = values.map(x => x.value);
  })
);

const updated = data
  .map(item => {
    const newItem = {
      ...item
    };
    if (item.content) {
      newItem.content = item.content.filter(x =>
        perm[item.label].includes(x.value)
      );
    } else if (item.value) {
      newItem.value = perm[item.label].includes(item.value) ? item.value : "";
    }
    return newItem;
  })
  .filter(x => x.content || x.value);

console.log(updated);

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

배열이있는 객체 배열의 데이터를 다른 객체 배열에 추가하는 방법은 무엇입니까? 자바 스크립트

분류에서Dev

자바 스크립트의 다른 배열 안에있는 객체 배열 내부의 객체에 액세스하는 방법은 무엇입니까?

분류에서Dev

배열을 자바 스크립트의 객체로 변환하는 방법은 무엇입니까?

분류에서Dev

다른 객체를 사용하여 자바 스크립트에서 객체 배열을 만드는 방법은 무엇입니까?

분류에서Dev

객체의 자바 스크립트 배열을 객체의 다른 자바 스크립트 배열 필터

분류에서Dev

자바 스크립트 객체에서 배열 배열을 만드는 방법은 무엇입니까?

분류에서Dev

객체 배열에서 속성의 첫 번째 문자를 기반으로 객체 배열을 필터링하는 방법은 무엇입니까?

분류에서Dev

다른 객체 배열로 객체 배열을 필터링하고 결과 배열에 키 / 값을 추가하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트를 사용하여 객체 배열을 다른 배열로 결합하는 방법

분류에서Dev

다른 배열의 값을 기준으로 객체 배열을 필터링하는 방법은 무엇입니까?

분류에서Dev

객체 키를 찾는 방법은 자바 스크립트의 문자열 또는 배열입니다.

분류에서Dev

자바 스크립트에서 JSON 객체 배열에 값을 추가하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트에서 객체 배열을 선언하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트에 설정된 다른 배열의 키로 배열 객체를 매핑하는 방법

분류에서Dev

JSON 데이터 형식을 배열에서 자바 스크립트로 객체 배열로 변경하는 방법은 무엇입니까?

분류에서Dev

동적 객체의 배열로 배열을 필터링하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트에서 객체 내부의 하위 객체 배열을 연결하는 방법은 무엇입니까?

분류에서Dev

Javascript / AngularJs-다른 배열의 객체로 배열을 채우는 방법은 무엇입니까?

분류에서Dev

reactjs 배열의 객체가 다른 객체 배열에 있는지 필터링 / 확인하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트에서 객체 배열과 다른 객체 배열 사이의 빈 배열을 확인하는 방법

분류에서Dev

배열을 두 개의 값을 가진 객체로 바꾸는 방법은 무엇입니까? 자바 스크립트

분류에서Dev

객체의 자바 스크립트 배열을 객체로 플랫 화하는 가장 간단한 솔루션은 무엇입니까?

분류에서Dev

다른 객체 배열의 값으로 필터링 된 새 배열을 얻으려면 어떻게해야합니까? 자바 스크립트

분류에서Dev

다른 객체 배열을 기반으로하는 자바 스크립트 필터 배열

분류에서Dev

중첩 배열의 값을 기반으로 객체를 반환하는 방법은 무엇입니까? (자바 스크립트)

분류에서Dev

객체 배열에서 객체의 다른 인수와 문자열을 비교하는 방법은 무엇입니까?

분류에서Dev

객체 배열에서 객체의 다른 인수와 문자열을 비교하는 방법은 무엇입니까?

분류에서Dev

객체의 다른 배열을 가리키는 중첩 된 객체 배열을 반복적으로 반복하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트에서 다중 배열을 갖는 다른 객체의 필터링을 기반으로 배열 필터링

Related 관련 기사

  1. 1

    배열이있는 객체 배열의 데이터를 다른 객체 배열에 추가하는 방법은 무엇입니까? 자바 스크립트

  2. 2

    자바 스크립트의 다른 배열 안에있는 객체 배열 내부의 객체에 액세스하는 방법은 무엇입니까?

  3. 3

    배열을 자바 스크립트의 객체로 변환하는 방법은 무엇입니까?

  4. 4

    다른 객체를 사용하여 자바 스크립트에서 객체 배열을 만드는 방법은 무엇입니까?

  5. 5

    객체의 자바 스크립트 배열을 객체의 다른 자바 스크립트 배열 필터

  6. 6

    자바 스크립트 객체에서 배열 배열을 만드는 방법은 무엇입니까?

  7. 7

    객체 배열에서 속성의 첫 번째 문자를 기반으로 객체 배열을 필터링하는 방법은 무엇입니까?

  8. 8

    다른 객체 배열로 객체 배열을 필터링하고 결과 배열에 키 / 값을 추가하는 방법은 무엇입니까?

  9. 9

    자바 스크립트를 사용하여 객체 배열을 다른 배열로 결합하는 방법

  10. 10

    다른 배열의 값을 기준으로 객체 배열을 필터링하는 방법은 무엇입니까?

  11. 11

    객체 키를 찾는 방법은 자바 스크립트의 문자열 또는 배열입니다.

  12. 12

    자바 스크립트에서 JSON 객체 배열에 값을 추가하는 방법은 무엇입니까?

  13. 13

    자바 스크립트에서 객체 배열을 선언하는 방법은 무엇입니까?

  14. 14

    자바 스크립트에 설정된 다른 배열의 키로 배열 객체를 매핑하는 방법

  15. 15

    JSON 데이터 형식을 배열에서 자바 스크립트로 객체 배열로 변경하는 방법은 무엇입니까?

  16. 16

    동적 객체의 배열로 배열을 필터링하는 방법은 무엇입니까?

  17. 17

    자바 스크립트에서 객체 내부의 하위 객체 배열을 연결하는 방법은 무엇입니까?

  18. 18

    Javascript / AngularJs-다른 배열의 객체로 배열을 채우는 방법은 무엇입니까?

  19. 19

    reactjs 배열의 객체가 다른 객체 배열에 있는지 필터링 / 확인하는 방법은 무엇입니까?

  20. 20

    자바 스크립트에서 객체 배열과 다른 객체 배열 사이의 빈 배열을 확인하는 방법

  21. 21

    배열을 두 개의 값을 가진 객체로 바꾸는 방법은 무엇입니까? 자바 스크립트

  22. 22

    객체의 자바 스크립트 배열을 객체로 플랫 화하는 가장 간단한 솔루션은 무엇입니까?

  23. 23

    다른 객체 배열의 값으로 필터링 된 새 배열을 얻으려면 어떻게해야합니까? 자바 스크립트

  24. 24

    다른 객체 배열을 기반으로하는 자바 스크립트 필터 배열

  25. 25

    중첩 배열의 값을 기반으로 객체를 반환하는 방법은 무엇입니까? (자바 스크립트)

  26. 26

    객체 배열에서 객체의 다른 인수와 문자열을 비교하는 방법은 무엇입니까?

  27. 27

    객체 배열에서 객체의 다른 인수와 문자열을 비교하는 방법은 무엇입니까?

  28. 28

    객체의 다른 배열을 가리키는 중첩 된 객체 배열을 반복적으로 반복하는 방법은 무엇입니까?

  29. 29

    자바 스크립트에서 다중 배열을 갖는 다른 객체의 필터링을 기반으로 배열 필터링

뜨겁다태그

보관