질문자 :Hunter McMillen
JavaScript에서 일부 개체를 만들고 해당 개체를 배열로 푸시하고 변수에 사용하려는 키를 저장한 다음 다음과 같이 개체를 만듭니다.
var key = "happyCount"; myArray.push( { key : someValueArray } );
그러나 모든 개체에 대한 개체 배열을 검사하려고 할 때 키는 변수 키 값 대신 "key"
변수에서 키 값을 설정하는 방법이 있습니까?
더 나은 설명을 위한 바이올린: http://jsfiddle.net/Fr6eY/3/
먼저 개체를 만든 다음 []
를 사용하여 설정해야 합니다.
var key = "happyCount"; var obj = {}; obj[key] = someValueArray; myArray.push(obj);
2018년 업데이트:
ES6 과 Babel 을 사용할 수 있다면 다음과 같은 새로운 기능을 사용할 수 있습니다.
{ [yourKeyVariable]: someValueArray, }
Rocket HazmatES6에서는 이렇게 할 수 있습니다.
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"}
kiranvj출처 : http:www.stackoverflow.com/questions/11508463/javascript-set-object-key-by-variable