반응형
JavaScript에서 해시 또는 사전 객체를 만드는 방법
이 질문에는 이미 답변이 있습니다.
- JavaScript Hashmap 동등 답변 17 개
자바 스크립트로 맵 객체를 만들고 싶습니다. 나는 다음과 같은 생각을했다.
var a = new Array();
a["key1"] = "value1";
a["key2"] = "value2";
그런 다음 특정 키가 있는지 여부를 어떻게 알 수 있습니까?
명명 된 키를 원하면 배열을 사용하지 말고 일반 객체를 사용하십시오.
var a = {};
a["key1"] = "value1";
a["key2"] = "value2";
그때:
if ("key1" in a) {
// something
} else {
// something else
}
내장 된지도 유형이 이제 JavaScript로 제공됩니다. 단순히 Object를 사용하는 대신 사용할 수 있습니다. 모든 주요 브라우저의 현재 버전에서 지원됩니다.지도는
[subscript]
객체가 사용 하는 표기법을 지원하지 않습니다 . 이 구문은 암시 적으로
subscript
값을 기본 문자열 또는 기호로 캐스트합니다 . 지도는이 방법을 사용해야합니다, 키로서 어떤 값을 지원
.get(key)
,
.set(key, value)
하고
.has(key)
.
var m = new Map();
var key1 = 'key1';
var key2 = {};
var key3 = {};
m.set(key1, 'value1');
m.set(key2, 'value2');
console.assert(m.has(key2), "m should contain key2.");
console.assert(!m.has(key3), "m should not contain key3.");
값은 속성으로 저장되므로 객체는 기본 문자열과 기호 만 키로 지원합니다. 당신이 객체를 사용한다면, 구별 할 수 없을 것
key2
와
key3
자신의 문자열 표현이 동일하기 때문 :
var o = new Object();
var key1 = 'key1';
var key2 = {};
var key3 = {};
o[key1] = 'value1';
o[key2] = 'value2';
console.assert(o.hasOwnProperty(key2), "o should contain key2.");
console.assert(!o.hasOwnProperty(key3), "o should not contain key3."); // Fails!
관련
배열이 아닌 객체를 생성하려고합니다.이렇게
var Map = {};
Map['key1'] = 'value1';
Map['key2'] = 'value2';
키가 여러 가지 방법으로 존재하는지 확인할 수 있습니다.
Map.hasOwnProperty(key);
Map[key] != undefined // For illustration // Edit, remove null check
if (key in Map) ...
in
연산자를 사용하십시오 ( 예 :)
"key1" in a
.
if( a['desiredKey'] !== undefined )
{
// it exists
}
참고 URL :
https://stackoverflow.com/questions/6298169/how-to-create-a-hash-or-dictionary-object-in-javascript
반응형
'development' 카테고리의 다른 글
배경 이미지 CSS를 늘리시겠습니까? (0) | 2020.05.31 |
---|---|
Bash를 사용할 때 어떤 문자를 이스케이프해야합니까? (0) | 2020.05.31 |
다시 누를 때 두 번째 활동에서 첫 번째 활동으로 데이터를 전달하는 방법은 무엇입니까? (0) | 2020.05.31 |
팬더 리 샘플 문서 (0) | 2020.05.31 |
새 분기를 명시 적으로 푸시해야하는 이유는 무엇입니까? (0) | 2020.05.31 |