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
반응형
'프로그래밍 언어 > HTML,CSS,JS' 카테고리의 다른 글
Node.js : 줄 바꿈없이 콘솔에 출력하는 방법 (0) | 2021.10.25 |
---|---|
React js onClick으로 메소드에 값을 전달하는 방법 (0) | 2021.10.21 |
json gem 설치 오류 'mkmf.rb can't find header files for ruby' (0) | 2021.10.20 |
타사 라이브러리를 사용하지 않고 Node.js로 파일을 다운로드하는 방법 (0) | 2021.10.20 |
JavaScript에서 ==와 ===의 차이점 (0) | 2021.10.19 |