Hướng dẫn javascript get variable as object key - javascript lấy biến làm khóa đối tượng

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: http://jsfiddle.net/fr6ey/3/

Hướng dẫn javascript get variable as object key - javascript lấy biến làm khóa đối tượng

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);
1

Ví dụ:

var key = "happyCount";
var obj = {};

obj[key] = someValueArray;
myArray.push(obj);
3

Bắ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

Hướng dẫn javascript get variable as object key - javascript lấy biến làm khóa đối tượng

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

Hướng dẫn javascript get variable as object key - javascript lấy biến làm khóa đối tượng

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

Hướng dẫn javascript get variable as object key - javascript lấy biến làm khóa đối tượng

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • 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);
    
    4

    var key = "happyCount";
    var obj = {};
    
    obj[key] = someValueArray;
    myArray.push(obj);
    
    5

    var key = "happyCount";
    var obj = {};
    
    obj[key] = someValueArray;
    myArray.push(obj);
    
    6
    var key = "happyCount";
    var obj = {};
    
    obj[key] = someValueArray;
    myArray.push(obj);
    
    7

    Trong 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);
    
    6
    const yourKeyVariable = "happyCount";
    const someValueArray= [...];
    
    const obj = {
        [yourKeyVariable]: someValueArray,
    }
    
    7

    const yourKeyVariable = "happyCount";
    const someValueArray= [...];
    
    const obj = {
        [yourKeyVariable]: someValueArray,
    }
    
    8

    const yourKeyVariable = "happyCount";
    const someValueArray= [...];
    
    const obj = {
        [yourKeyVariable]: someValueArray,
    }
    
    9
    var key = "name";
    var person = {[key]:"John"}; // same as var person = {"name" : "John"}
    console.log(person); // should print  Object { name="John"}
    
    0
    var key = "name";
    var person = {[key]:"John"}; // same as var person = {"name" : "John"}
    console.log(person); // should print  Object { name="John"}
    
    1

    var key = "happyCount";
    var obj = {};
    
    obj[key] = someValueArray;
    myArray.push(obj);
    
    6
    var key = "name";
    var person = {[key]:"John"}; // same as var person = {"name" : "John"}
    console.log(person); // should print  Object { name="John"}
    
    3
    var key = "name";
    var person = {[key]:"John"}; // same as var person = {"name" : "John"}
    console.log(person); // should print  Object { name="John"}
    
    4
    var key = "name";
    var person = {[key]:"John"}; // same as var person = {"name" : "John"}
    console.log(person); // should print  Object { name="John"}
    
    5

    var key = "name";
    var person = {[key]:"John"}; // same as var person = {"name" : "John"}
    console.log(person); // should print  Object { name="John"}
    
    6

    var key = "name";
    var person = {[key]:"John"}; // same as var person = {"name" : "John"}
    console.log(person); // should print  Object { name="John"}
    
    7

    var key = "happyCount";
    var obj = {};
    
    obj[key] = someValueArray;
    myArray.push(obj);
    
    6
    var key = "name";
    var person = {[key]:"John"}; // same as var person = {"name" : "John"}
    console.log(person); // should print  Object { name="John"}
    
    9

    var key = "happyCount";
    var obj = {};
    
    obj[key] = someValueArray;
    myArray.push(obj);
    
    8
    var yourObject = {};
    
    yourObject[yourKey] = "yourValue";
    
    console.log(yourObject );
    
    1
    var yourObject = {};
    
    yourObject[yourKey] = "yourValue";
    
    console.log(yourObject );
    
    2
    var yourObject = {};
    
    yourObject[yourKey] = "yourValue";
    
    console.log(yourObject );
    
    3
    var yourObject = {};
    
    yourObject[yourKey] = "yourValue";
    
    console.log(yourObject );
    
    4

    var key = "happyCount";
    var obj = {};
    
    obj[key] = someValueArray;
    myArray.push(obj);
    
    8
    var yourObject = {};
    
    yourObject[yourKey] = "yourValue";
    
    console.log(yourObject );
    
    1
    var yourObject = {};
    
    yourObject[yourKey] = "yourValue";
    
    console.log(yourObject );
    
    7

    var key = "happyCount";
    var obj = {};
    
    obj[key] = someValueArray;
    myArray.push(obj);
    
    8
    var yourObject = {};
    
    yourObject[yourKey] = "yourValue";
    
    console.log(yourObject );
    
    9
    var person = {};
    var key = "name";
    
    person[key] /* this is same as person.name */ = "John";
    
    console.log(person); // should print  Object { name="John"}
    
    0
    var yourObject = {};
    
    yourObject[yourKey] = "yourValue";
    
    console.log(yourObject );
    
    4

    var key = "happyCount";
    var obj = {};
    
    obj[key] = someValueArray;
    myArray.push(obj);
    
    8
    var person = {};
    var key = "name";
    
    person[key] /* this is same as person.name */ = "John";
    
    console.log(person); // should print  Object { name="John"}
    
    3

    var key = "happyCount";
    var obj = {};
    
    obj[key] = someValueArray;
    myArray.push(obj);
    
    6
    var person = {};
    var key = "name";
    
    person[key] /* this is same as person.name */ = "John";
    
    console.log(person); // should print  Object { name="John"}
    
    5

    var person = {};
    var key = "name";
    
    person[key] /* this is same as person.name */ = "John";
    
    console.log(person); // should print  Object { name="John"}
    
    6

    var person = {};
    var key = "name";
    
    person[key] /* this is same as person.name */ = "John";
    
    console.log(person); // should print  Object { name="John"}
    
    7

    Output:

    Hướng dẫn javascript get variable as object key - javascript lấy biến làm khóa đối tượng

    Làm thế nào có được khóa đối tượng từ biến?

    Làm thế nào để bạn tìm thấy chìa khóa của một đối tượng?..
    Sự vật. Khóa (OBJ) - Trả về tất cả các khóa của đối tượng dưới dạng mảng ..
    Sự vật. Giá trị (OBJ) - Trả về tất cả các giá trị của đối tượng dưới dạng mảng ..
    Object.entries (OBJ) - Trả về một mảng [khóa, giá trị].

    Chúng ta có thể nhận khóa từ giá trị trong JavaScript không?

    Để có được khóa của một đối tượng theo giá trị của nó: hãy gọi phương thức đối tượng.keys () để lấy một mảng các phím của đối tượng.Sử dụng phương thức Find () để tìm khóa tương ứng với giá trị.Phương pháp tìm sẽ trả về khóa đầu tiên thỏa mãn điều kiện.Call the Object. keys() method to get an array of the object's keys. Use the find() method to find the key that corresponds to the value. The find method will return the first key that satisfies the condition.

    Khóa đối tượng JavaScript có thể là một chuỗi không?

    Các phím đối tượng trong JavaScript Mỗi khóa trong đối tượng JavaScript của bạn phải là chuỗi, ký hiệu hoặc số.Hãy xem xét kỹ các ví dụ dưới đây.Các tên chính 1 và 2 thực sự bị ép thành chuỗi.Each key in your JavaScript object must be a string, symbol, or number. Take a close look at the example below. The key names 1 and 2 are actually coerced into strings.

    Các phím đối tượng trong JavaScript là gì?

    Object.keys () Trả về một mảng có các phần tử là các chuỗi tương ứng với các thuộc tính được tìm thấy trực tiếp trên đối tượng.Thứ tự của các thuộc tính giống như được đưa ra bằng cách lặp qua các thuộc tính của đối tượng theo cách thủ công.returns an array whose elements are strings corresponding to the enumerable properties found directly upon object . The ordering of the properties is the same as that given by looping over the properties of the object manually.