깊은 중첩 배열 호출

햄 샌드위치

중첩 된 배열 / 객체에 상당히 깊은 예상 JSON 페이로드가 있습니다. 가정 된 구조를 기반으로 변수를 할당하므로

{
  id: value1,
  name: value2,
  data: {
    status: complete,
    date: 2020 - 06 - 20,
    notes: {
      field1: "user notes",
      field2: "more user notes"
    }
  }
}

내 코드에서 다음과 같이 호출합니다.

var usernote = payload.data.notes.field1 || "No Notes"

그러나 사용자가 메모를 제기하지 않았을 수 있으므로 메모 개체가 정의되지 않은 것으로 반환됩니다. 계단식 기본 검사를 수행하지 않고이 문제를 해결하는 방법이 있습니까? 내 전화 중 일부는 다음과 같습니다.

priorityvar = payload.data.form_values["b691"][index]["form_values"]["d54d"]["choice_values"][0]

어떤 도움이라도 대단히 감사하겠습니다. 내 검색에서 비슷한 답변을 찾을 수 없었습니다 (그러나 여기에도 매우 새롭습니다). 또한 Google 스크립트에서 작업 중이므로 ES6 항목을 사용할 수 없습니다.

브루노 몬테 이로

여러 검사를 피할 수있는 유일한 방법은 Google 스크립트를 사용하고 " ES6 항목을 사용할 수 없습니다 "이므로 try catch접근 방식 을 사용하는 것 입니다.

그러면 전체 표현식의 유효성을 검사하므로 개체의 개별 키 유효성 검사에 대해 걱정할 필요가 없습니다.

var usernote;

try {
  usernote = payload.data.notes.field1;
} catch (error) {
  usernote = "No Notes";
}

최신 기술을 사용할 수있는 사람들을 위해

새로운 ECMA Script 2020은 지난주에 출시되었으며 이제 선택적 연결 이 공식적인 것입니다.

이렇게하면 다음과 같은 값이 있는지 걱정하지 않아도됩니다 undefined.

var usernote = payload?.data?.notes?.field1 || "No Notes"

문서에서 :

선택적 연결 연산자를 사용하면 체인의 각 참조가 유효한지 명시 적으로 유효성을 검사 할 필요없이 연결된 개체의 체인 깊숙한 곳에있는 속성 값을 읽을 수 있습니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

JSON 깊은 중첩 배열 관계 화

분류에서Dev

배열의 깊은 중첩 개체에서 키 확인

분류에서Dev

깊은 중첩 된 json 객체로 배열 매핑

분류에서Dev

깊은 중첩 해시 및 배열에서 특정 값 반복

분류에서Dev

MongoDB : 깊은 중첩 배열의 문자열에 추가하는 방법

분류에서Dev

깊은 중첩 된 개체 배열 JSON 파일에 대한 매핑

분류에서Dev

객체와 배열로 깊이 중첩 된 배열을 병합

분류에서Dev

깊이 중첩 된 배열 사전의 배열에 추가

분류에서Dev

SwiftUI보기의 중첩 된 배열에서 호출 시도

분류에서Dev

함수 배열을 중첩 함수 호출로 변환

분류에서Dev

깊은 중첩 해시 배열의 키 값을 기반으로 해시 배열을 병합하는 방법

분류에서Dev

깊은 중첩 키로 중복 항목을 매핑 한 후 전체 개체 배열 가져 오기

분류에서Dev

자바 스크립트의 깊은 중첩 종속 약속에서 호출자에게 반환

분류에서Dev

깊게 중첩 된 함수 호출 들여 쓰기

분류에서Dev

PL / SQL은 중첩 배열로 선택

분류에서Dev

MongoDB Mongoose 집계 쿼리 깊이 중첩 배열은 빈 결과를 제거하고 참조를 채 웁니다.

분류에서Dev

MongoDB / C # 깊게 중첩 된 배열 만 쿼리하는 방법은 무엇입니까?

분류에서Dev

Mongo DB에서 깊이 중첩 된 객체 배열 필터링

분류에서Dev

MongoDB : 깊이 중첩 된 객체 배열의 집계 조회

분류에서Dev

깊이 중첩 된 배열 몽구스로 푸시

분류에서Dev

깊이를 알 수없는 중첩 배열 구문 분석

분류에서Dev

PHP에서 깊이 중첩 된 배열을 반복합니다.

분류에서Dev

여러 서비스 호출에 깊게 중첩 된 AngularJS $ http 요청 중단

분류에서Dev

열에 대한 선택적 키 : 값이있는 Pandas 깊은 중첩 JSON

분류에서Dev

중첩 배열에서 toJSON 메서드가 호출되지 않음

분류에서Dev

중첩 된 배열에서 배열 추출

분류에서Dev

메뉴 이름이 허용 된 메뉴 문자열 배열에 포함 된 경우 깊은 중첩 메뉴 배열 필터링

분류에서Dev

이중 배열 함수 호출

분류에서Dev

이중 배열 함수 호출

Related 관련 기사

  1. 1

    JSON 깊은 중첩 배열 관계 화

  2. 2

    배열의 깊은 중첩 개체에서 키 확인

  3. 3

    깊은 중첩 된 json 객체로 배열 매핑

  4. 4

    깊은 중첩 해시 및 배열에서 특정 값 반복

  5. 5

    MongoDB : 깊은 중첩 배열의 문자열에 추가하는 방법

  6. 6

    깊은 중첩 된 개체 배열 JSON 파일에 대한 매핑

  7. 7

    객체와 배열로 깊이 중첩 된 배열을 병합

  8. 8

    깊이 중첩 된 배열 사전의 배열에 추가

  9. 9

    SwiftUI보기의 중첩 된 배열에서 호출 시도

  10. 10

    함수 배열을 중첩 함수 호출로 변환

  11. 11

    깊은 중첩 해시 배열의 키 값을 기반으로 해시 배열을 병합하는 방법

  12. 12

    깊은 중첩 키로 중복 항목을 매핑 한 후 전체 개체 배열 가져 오기

  13. 13

    자바 스크립트의 깊은 중첩 종속 약속에서 호출자에게 반환

  14. 14

    깊게 중첩 된 함수 호출 들여 쓰기

  15. 15

    PL / SQL은 중첩 배열로 선택

  16. 16

    MongoDB Mongoose 집계 쿼리 깊이 중첩 배열은 빈 결과를 제거하고 참조를 채 웁니다.

  17. 17

    MongoDB / C # 깊게 중첩 된 배열 만 쿼리하는 방법은 무엇입니까?

  18. 18

    Mongo DB에서 깊이 중첩 된 객체 배열 필터링

  19. 19

    MongoDB : 깊이 중첩 된 객체 배열의 집계 조회

  20. 20

    깊이 중첩 된 배열 몽구스로 푸시

  21. 21

    깊이를 알 수없는 중첩 배열 구문 분석

  22. 22

    PHP에서 깊이 중첩 된 배열을 반복합니다.

  23. 23

    여러 서비스 호출에 깊게 중첩 된 AngularJS $ http 요청 중단

  24. 24

    열에 대한 선택적 키 : 값이있는 Pandas 깊은 중첩 JSON

  25. 25

    중첩 배열에서 toJSON 메서드가 호출되지 않음

  26. 26

    중첩 된 배열에서 배열 추출

  27. 27

    메뉴 이름이 허용 된 메뉴 문자열 배열에 포함 된 경우 깊은 중첩 메뉴 배열 필터링

  28. 28

    이중 배열 함수 호출

  29. 29

    이중 배열 함수 호출

뜨겁다태그

보관