자바 스크립트-객체 키-> 값


87
var obj = {
   a: "A",
   b: "B",
   c: "C"
}

console.log(obj.a); // return string : A

하지만 나는 이와 같은 변수를 통해 얻고 싶습니다.

var name = "a";
console.log(obj.name) // but return undefined

어떻게하나요?

답변:


105

[]속성의 문자열 표현에는 표기법을 사용하십시오 .

console.log(obj[name]);

그렇지 않으면 "a"속성이 아닌 "name"속성을 찾습니다.


17

obj["a"]해당하는 것은 할 수 obj.a 있도록 사용 obj[name]당신이 "얻을 "


1
obj [name]은 정의되지 않은 obj.name을 반환합니다.
Hamid

1
사용 역 따옴표``당신이 코드의 짧은 금액을 작성하는 경우
JuicY_Burrito

7

다음 구문을 사용하십시오.

obj[name]

참고 obj.x과 동일obj["x"] 모든 유효한 JS의 식별자이지만, 후자 형태의 키 (단지 유효한 식별자)와 같은 모든 문자열을 받아 들인다.

obj["Hey, this is ... neat?"] = 42

3

다음 구문을 사용합니다.

objTest = {"error": true, "message": "test message"};

오류 발생 :

 var name = "error"
 console.log(objTest[name]);

메시지 받기 :

 name = "message"
 console.log(objTest[name]);

1

https://jsfiddle.net/sudheernunna/tug98nfm/1/

 var days = {};
days["monday"] = true;
days["tuesday"] = true;
days["wednesday"] = false;
days["thursday"] = true;
days["friday"] = false;
days["saturday"] = true;
days["sunday"] = false;
var userfalse=0,usertrue=0;
for(value in days)
{
   if(days[value]){
   usertrue++;
   }else{
   userfalse++;
   }
    console.log(days[value]);
}
alert("false",userfalse);
alert("true",usertrue);

0
var o = { cat : "meow", dog : "woof"};
var x = Object.keys(o);

for (i=0; i<x.length; i++) {
  console.log(o[x[i]]);
}

IAB

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.