프로그래밍 언어/HTML,CSS,JS

Javascript에서 조건부로 객체에 멤버를 추가하는 방법

Rateye 2021. 10. 20. 11:07
728x90
반응형
질문 : Javascript에서 조건부로 객체에 멤버를 추가하는 방법은 무엇입니까?

조건부로 추가 된 멤버가있는 개체를 만들고 싶습니다. 간단한 접근 방식은 다음과 같습니다.

var a = {};
if (someCondition)
    a.b = 5;

이제 좀 더 관용적 인 코드를 작성하고 싶습니다. 나는 노력하고있다 :

a = {
    b: (someCondition? 5 : undefined)
};

그런데, b 의 구성원 값 a undefined . 이것은 원하는 결과가 아닙니다.

편리한 솔루션이 있습니까?

최신 정보

여러 회원과 함께 일반적인 사건을 처리 할 수있는 해결책을 찾고 있습니다.

a = {
  b: (conditionB? 5 : undefined),
  c: (conditionC? 5 : undefined),
  d: (conditionD? 5 : undefined),
  e: (conditionE? 5 : undefined),
  f: (conditionF? 5 : undefined),
  g: (conditionG? 5 : undefined),
 };
답변

순수한 자바 스크립트에서는 첫 번째 코드 스 니펫보다 더 관용적 인 것을 생각할 수 없습니다.

그러나 jQuery 라이브러리를 사용하는 것이 의문의 여지가 없다면 $ .extend () 는 문서에 나와있는 것처럼 요구 사항을 충족해야합니다.

정의되지 않은 속성은 복사되지 않습니다.

따라서 다음과 같이 작성할 수 있습니다.

var a = $.extend({}, {
    b: conditionB ? 5 : undefined,
    c: conditionC ? 5 : undefined,
    // and so on...
});

그리고 당신은 (경우 기대하는 결과를 얻기 conditionB 있다 false , 다음 b 존재하지 않습니다 ). a

출처 : https://stackoverflow.com/questions/11704267/in-javascript-how-to-conditionally-add-a-member-to-an-object
728x90
반응형