반응형
JavaScript에서 null이거나 정의되지 않은 경우 값을 대체합니다.
??
C # 연산자를 JavaScript 에 적용해야하는 요구 사항이 있는데 방법을 모르겠습니다. C #에서 이것을 고려하십시오.
int i?=null;
int j=i ?? 10;//j is now 10
이제 JavaScript로 설정했습니다.
var options={
filters:{
firstName:'abc'
}
};
var filter=options.filters[0]||'';//should get 'abc' here, it doesn't happen
var filter2=options.filters[1]||'';//should get empty string here, because there is only one filter
어떻게 올바르게 수행합니까?
감사.
편집 : 문제의 절반을 발견했습니다 my_object[0]
. 객체에 '인덱서'표기법을 사용할 수 없습니다 ( ). 그것을 우회하는 방법이 있습니까? (사전에 필터 속성의 이름을 모르고 반복하고 싶지 않습니다).
다음은 JavaScript에 해당하는 것입니다.
var i = null;
var j = i || 10; //j is now 10
주의 논리 연산자는||
부울 값 만 변환 할 수 있습니다 첫 번째 값 반환하지 않습니다 사실을 .
또한 하나의 단일 객체 대신 객체 배열을 사용하십시오.
var options = {
filters: [
{
name: 'firstName',
value: 'abc'
}
]
};
var filter = options.filters[0] || ''; // is {name:'firstName', value:'abc'}
var filter2 = options.filters[1] || ''; // is ''
색인으로 액세스 할 수 있습니다.
문제의 절반을 발견했습니다. '인덱서'표기법을 객체 (my_object [0])에 사용할 수 없습니다. 그것을 우회하는 방법이 있습니까?
아니; 이름에서 알 수 있듯이 객체 리터럴 은 배열 이 아니라 객체 이므로 속성의 특정 순서가 없기 때문에 인덱스를 기반으로 속성을 검색 할 수 없습니다. 값을 검색하는 유일한 방법은 특정 이름을 사용하는 것입니다.
var someVar = options.filters.firstName; //Returns 'abc'
또는 for ... in
루프를 사용하여 반복하여 :
for(var p in options.filters) {
var someVar = options.filters[p]; //Returns the property being iterated
}
참고 URL : https://stackoverflow.com/questions/1011317/replace-a-value-if-null-or-undefined-in-javascript
반응형
'developer tip' 카테고리의 다른 글
PHP artisan.php serve 용 포트 설정 (0) | 2020.08.11 |
---|---|
Windows에서 실행되는 Emacs 용 .emacs 파일은 어디에서 찾을 수 있습니까? (0) | 2020.08.11 |
파이썬에서 부울을 어떻게 사용합니까? (0) | 2020.08.11 |
Rails 3에서 마이그레이션 파일을 삭제하는 방법 (0) | 2020.08.11 |
Haskell : Where vs. Let (0) | 2020.08.10 |