Javascript - khóa đối tượng-> giá trị


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

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

nhưng tôi muốn đi qua một biến như thế này

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

làm như thế nào?

Câu trả lời:


105

Sử dụng []ký hiệu cho các biểu diễn chuỗi của các thuộc tính:

console.log(obj[name]);

Nếu không, nó đang tìm kiếm thuộc tính "name", thay vì thuộc tính "a".


17

obj["a"]tương đương với obj.a để sử dụng obj[name]bạn nhận được " A "


1
Xin lưu ý rằng obj [name] sẽ trả về obj.name không được xác định.
Hamid

1
Sử dụng
dấu gạch ngược

7

Sử dụng cú pháp này:

obj[name]

Lưu ý rằng điều obj.xnày giống obj["x"]với tất cả các số nhận dạng JS hợp lệ, nhưng biểu mẫu sau chấp nhận tất cả chuỗi làm khóa (không chỉ các số nhận dạng hợp lệ).

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

3

Tôi sử dụng cú pháp sau:

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

gặp lỗi:

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

nhận tin nhắn:

 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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.