변수별 JavaScript 개체 키 설정

JavaScript에서 오브젝트를 작성하고 그 오브젝트를 배열에 푸시하여 변수에 사용하고 싶은 키를 저장한 후 다음과 같이 오브젝트를 만듭니다.

var key = "happyCount"; myArray.push( { key : someValueArray } ); 

하지만 모든 객체에 대해 내 객체의 배열을 조사하려고 할 때 핵심은"key"변수 키 값 대신 사용할 수 있습니다.변수에서 키의 값을 설정할 수 있는 방법이 있습니까?

자세한 설명을 원하시면http://http://jsfiddle.net/Fr6eY/3/ 를 참조해 주세요.



질문에 대한 답변



먼저 오브젝트를 만든 후 를 사용해야 합니다.[]세팅할 수 있습니다.

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

업데이트 2021:

계산된 속성 이름 기능은 ECMAScript 2015(ES6)에서 도입되었습니다.이 기능을 통해 JavaScript 객체 리터럴 표기로 객체 속성의 이름을 동적으로 계산할 수 있습니다.

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



ES6에서는 이렇게 할 수 있습니다.

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


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

계산 속성 이름이라고 하며, 대괄호 표기법(대괄호)을 사용하여 구현됩니다.[]

예:{ [variableName] : someValue }

ECMAScript 2015부터는 개체 이니셜라이저 구문도 계산된 속성 이름을 지원합니다.이를 통해 각 괄호 [] 안에 식을 넣을 수 있습니다.이 식은 계산되어 속성 이름으로 사용됩니다.

ES5의 경우 다음과 같은 방법을 사용해 보십시오.

var yourObject = {};
yourObject[yourKey] = "yourValue";
console.log(yourObject ); 

예:

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


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




이걸 쓰세요.

var key = 'a' var val = 'b'
console.log({[key]:val})
//a:'b' 



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