Tôi đang xây dựng một số đối tượng trong JavaScript và đẩy các đối tượng đó vào một mảng, tôi đang lưu trữ khóa tôi muốn sử dụng trong một biến sau đó tạo các đối tượng của mình như vậy:
var key = "happyCount";
myArray.push[ { key : someValueArray } ];
Nhưng khi tôi cố gắng kiểm tra mảng các đối tượng của mình cho mọi đối tượng, khóa là
var key = "happyCount";
var obj = {};
obj[key] = someValueArray;
myArray.push[obj];
0 thay vì giá trị của khóa biến. Có cách nào để đặt giá trị của khóa từ một biến không?Fiddle để giải thích tốt hơn: //jsfiddle.net/fr6ey/3/
t.niese
37,9K8 Huy hiệu vàng68 Huy hiệu bạc97 Huy hiệu đồng8 gold badges68 silver badges97 bronze badges
hỏi ngày 16 tháng 7 năm 2012 lúc 16:24Jul 16, 2012 at 16:24
Hunter McMillenhunter McMillenHunter McMillen
57.8K23 Huy hiệu vàng116 Huy hiệu bạc169 Huy hiệu đồng23 gold badges116 silver badges169 bronze badges
9
Bạn cần làm cho đối tượng trước, sau đó sử dụng
var key = "happyCount";
var obj = {};
obj[key] = someValueArray;
myArray.push[obj];
1 để đặt nó.var key = "happyCount";
var obj = {};
obj[key] = someValueArray;
myArray.push[obj];
Cập nhật 2021:
Tính năng tên thuộc tính được tính toán đã được giới thiệu trong ECMAScript 2015 [ES6] cho phép bạn tính cách tự động tên của các thuộc tính đối tượng trong ký hiệu theo nghĩa đen của đối tượng JavaScript.
const yourKeyVariable = "happyCount";
const someValueArray= [...];
const obj = {
[yourKeyVariable]: someValueArray,
}
Đã trả lời ngày 16 tháng 7 năm 2012 lúc 16:26Jul 16, 2012 at 16:26
gen_Ericgen_Ericgen_Eric
Phim thương hiệu vàng 218K4040 gold badges297 silver badges336 bronze badges
11
Trong ES6, bạn có thể làm như thế này.
var key = "name";
var person = {[key]:"John"}; // same as var person = {"name" : "John"}
console.log[person]; // should print Object { name="John"}
Nó được gọi là tên thuộc tính được tính toán, được triển khai bằng ký hiệu khung [dấu ngoặc vuông]
var key = "happyCount";
var obj = {};
obj[key] = someValueArray;
myArray.push[obj];
1Ví dụ:
var key = "happyCount";
var obj = {};
obj[key] = someValueArray;
myArray.push[obj];
3Bắt đầu với ECMAScript 2015, cú pháp khởi tạo đối tượng cũng hỗ trợ tên thuộc tính được tính toán. Điều đó cho phép bạn đặt một biểu thức trong ngoặc [], sẽ được tính toán và sử dụng làm tên thuộc tính.
Đối với ES5, hãy thử một cái gì đó như thế này
var yourObject = {};
yourObject[yourKey] = "yourValue";
console.log[yourObject ];
example:
var person = {};
var key = "name";
person[key] /* this is same as person.name */ = "John";
console.log[person]; // should print Object { name="John"}
Đã trả lời ngày 16 tháng 7 năm 2012 lúc 16:29Jul 16, 2012 at 16:29
1
Dùng cái này.
var key = 'a'
var val = 'b'
console.log[{[key]:val}]
//a:'b'
Đã trả lời ngày 14 tháng 4 lúc 8:59Apr 14 at 8:59
devtunusdevtunusdevtunus
1211 huy hiệu bạc2 huy hiệu đồng1 silver badge2 bronze badges
2
var key = "happyCount";
myArray.push[ { [key] : someValueArray } ];
Đã trả lời ngày 25 tháng 7 lúc 19:37Jul 25 at 19:37
1
Trong TypeScript, nó sẽ trông giống như thế này
let title ="Current User";
type User = {
[key:string | number | symbol]: any
};
let myVar: User = {};
myVar[ title ] = "App Developer";
console.log[myVar]// Prints: { Current User:"App Developer"}
Đã trả lời ngày 2 tháng 11 lúc 2:38Nov 2 at 2:38
Cải thiện bài viết
Lưu bài viết
Cải thiện bài viết
Lưu bài viết
Đọc
Syntax:
var key="your_choice"; var object = {}; object[key] = "your_choice"; console.log[object];
Bàn luận This shows how to use a variable for a key.
var key = "happyCount";
var obj = {};
obj[key] = someValueArray;
myArray.push[obj];
4var key = "happyCount";
var obj = {};
obj[key] = someValueArray;
myArray.push[obj];
5var key = "happyCount";
var obj = {};
obj[key] = someValueArray;
myArray.push[obj];
6var key = "happyCount";
var obj = {};
obj[key] = someValueArray;
myArray.push[obj];
7Trong ES5 và trước đó, bạn không thể sử dụng một biến làm tên thuộc tính bên trong một đối tượng theo nghĩa đen. Tùy chọn duy nhất bạn có là tạo theo nghĩa đen của đối tượng, gán tên thuộc tính biến có giá trị và chuyển đối tượng kết quả cho phương thức Animate. ES6 định nghĩa ’tính toán được tính toán là một phần của ngữ pháp cho các chữ cái đối tượng, giúp sử dụng một biến cho một khóa. Các phím đối tượng có thể được gán động trong ES6 bằng cách đặt một biểu thức trong dấu ngoặc vuông.
Ví dụ 1: Điều này cho thấy cách sử dụng một biến cho một khóa.
var key = "happyCount";
var obj = {};
obj[key] = someValueArray;
myArray.push[obj];
6const yourKeyVariable = "happyCount";
const someValueArray= [...];
const obj = {
[yourKeyVariable]: someValueArray,
}
7const yourKeyVariable = "happyCount";
const someValueArray= [...];
const obj = {
[yourKeyVariable]: someValueArray,
}
8const yourKeyVariable = "happyCount";
const someValueArray= [...];
const obj = {
[yourKeyVariable]: someValueArray,
}
9var key = "name";
var person = {[key]:"John"}; // same as var person = {"name" : "John"}
console.log[person]; // should print Object { name="John"}
0var key = "name";
var person = {[key]:"John"}; // same as var person = {"name" : "John"}
console.log[person]; // should print Object { name="John"}
1var key = "happyCount";
var obj = {};
obj[key] = someValueArray;
myArray.push[obj];
6var key = "name";
var person = {[key]:"John"}; // same as var person = {"name" : "John"}
console.log[person]; // should print Object { name="John"}
3var key = "name";
var person = {[key]:"John"}; // same as var person = {"name" : "John"}
console.log[person]; // should print Object { name="John"}
4var key = "name";
var person = {[key]:"John"}; // same as var person = {"name" : "John"}
console.log[person]; // should print Object { name="John"}
5var key = "name";
var person = {[key]:"John"}; // same as var person = {"name" : "John"}
console.log[person]; // should print Object { name="John"}
6var key = "name";
var person = {[key]:"John"}; // same as var person = {"name" : "John"}
console.log[person]; // should print Object { name="John"}
7var key = "happyCount";
var obj = {};
obj[key] = someValueArray;
myArray.push[obj];
6var key = "name";
var person = {[key]:"John"}; // same as var person = {"name" : "John"}
console.log[person]; // should print Object { name="John"}
9var key = "happyCount";
var obj = {};
obj[key] = someValueArray;
myArray.push[obj];
8var yourObject = {};
yourObject[yourKey] = "yourValue";
console.log[yourObject ];
1 var yourObject = {};
yourObject[yourKey] = "yourValue";
console.log[yourObject ];
2var yourObject = {};
yourObject[yourKey] = "yourValue";
console.log[yourObject ];
3var yourObject = {};
yourObject[yourKey] = "yourValue";
console.log[yourObject ];
4var key = "happyCount";
var obj = {};
obj[key] = someValueArray;
myArray.push[obj];
8var yourObject = {};
yourObject[yourKey] = "yourValue";
console.log[yourObject ];
1 var yourObject = {};
yourObject[yourKey] = "yourValue";
console.log[yourObject ];
7var key = "happyCount";
var obj = {};
obj[key] = someValueArray;
myArray.push[obj];
8var yourObject = {};
yourObject[yourKey] = "yourValue";
console.log[yourObject ];
9var person = {};
var key = "name";
person[key] /* this is same as person.name */ = "John";
console.log[person]; // should print Object { name="John"}
0var yourObject = {};
yourObject[yourKey] = "yourValue";
console.log[yourObject ];
4var key = "happyCount";
var obj = {};
obj[key] = someValueArray;
myArray.push[obj];
8var person = {};
var key = "name";
person[key] /* this is same as person.name */ = "John";
console.log[person]; // should print Object { name="John"}
3var key = "happyCount";
var obj = {};
obj[key] = someValueArray;
myArray.push[obj];
6var person = {};
var key = "name";
person[key] /* this is same as person.name */ = "John";
console.log[person]; // should print Object { name="John"}
5var person = {};
var key = "name";
person[key] /* this is same as person.name */ = "John";
console.log[person]; // should print Object { name="John"}
6var person = {};
var key = "name";
person[key] /* this is same as person.name */ = "John";
console.log[person]; // should print Object { name="John"}
7Output: