IT

JavaScript 개체 변수에 추가할 동적 키를 만들려면 어떻게 해야 합니까?

itgroup 2023. 1. 21. 09:43
반응형

JavaScript 개체 변수에 추가할 동적 키를 만들려면 어떻게 해야 합니까?

나는 이런 것을 시도하고 있지만, 이 예는 효과가 없다.

jsObj = {};

for (var i = 1; i <= 10; i++) {
    jsObj{'key' + i} = 'example ' + 1;
}

이렇게 다이내믹 키를 만들려면 어떻게 해야 하나요?

대괄호:

jsObj['key' + i] = 'example' + 1;

JavaScript에서는 모든 배열이 개체이지만 모든 개체가 배열인 것은 아닙니다.(및것 중 주요 인스턴스가 "JavaScript" ("JavaScript")를 입니다.length이름이 숫자이고 숫자로 변환되었을 때 값이 모든 속성 중 가장 큰 속성의 숫자 값을 1 더하기 값으로 반영하도록 속성을 지정합니다.정말 이상하게 들리지만, 배열 인스턴스를 지정하면 다음과 같은 이름을 가진 속성이"0","5","207", 그에 의해서, 의 가치가 에서, 을 받고 있습니다length그리고 무엇보다도, 그 가치는length이러한 속성을 제거하도록 설정할 수 있습니다.의 설정length(이)0이름이 정수처럼 보이는 모든 속성을 효과적으로 제거합니다.

이것이 어레이가 특별한 이유입니다. 것은 JavaScript가 JavaScript를 사용하는 관계가 없습니다.[ ]오퍼레이터가 동작합니다.이 연산자는 모든 개체에서 작동하는 개체 속성 액세스 메커니즘입니다.이러한 점에서 단순한 속성 액세스에 관한 한 숫자 배열 속성 이름은 특별하지 않습니다.숫자처럼 보이는 문자열이지만 JavaScript 객체 속성 이름은 원하는 문자열이 될 수 있습니다.

해서 '아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 네.[ ]는 a a in a a에서 .for"CHANGE: "CHANGE:

for (var i = 0; i < myArray.length; ++i) {
  var value = myArray[i]; // property access
  // ...
}

이지 틀리지 [ ]는, 이 「 할 에 기능합니다.

var value = jsObj["key" + i];

[ ]연산자는 두 경우 모두 정확히 동일한 작업을 수행합니다.즉, 관련된 객체가 배열이라는 사실은 중요하지 않습니다.

다음을 사용하여 속성 값을 설정할 때[ ]이 이야기는, 유지에 관한 특별한 행동을 제외하고는 같습니다.length소유물.어레이 인스턴스에서 숫자 키를 사용하여 속성을 설정하는 경우:

myArray[200] = 5;

다음으로 ('200'이 가장 큰 숫자 속성 이름임을 나타냅니다)length속성이 갱신됩니다.201재산 양도의 부작용으로요단, 플레인오브젝트에 대해서도 같은 처리를 하는 경우는, 다음과 같습니다.

myObj[200] = 5;

그런 부작용은 없어요.어레이와 오브젝트 양쪽의 "200"이라는 속성이 값으로 설정됩니다.5아니면 똑같은 방법으로요

할 수도 요.왜냐하면, 그 이유는, 「이러다」라고 하는 것입니다.length동작은 편리합니다.일반 객체 대신 어레이 생성자의 모든 객체 인스턴스를 만드는 이 좋습니다.직접적으로 잘못된 것은 없습니다(특히 일부 다른 언어에 익숙한 사용자에게는 혼란스러울 수 있지만 일부 속성이 다음 웹 사이트에 포함됨).length다른 사람은 안 돼)단, JSON 시리얼라이제이션(대부분 일반적인 기능)을 사용하는 경우 어레이 인스턴스는 수치로 명명된 속성만 포함하는 방식으로 JSON에 시리얼라이제이션된다는 점을 이해해 주십시오.어레이에 추가된 다른 속성은 시리얼화된 JSON 형식으로 표시되지 않습니다.예를 들어 다음과 같습니다.

var obj = [];
obj[0] = "hello world";
obj["something"] = 5000;

var objJSON = JSON.stringify(obj);

은 "obJJSON"만 .["hello world"] " '뭔가'

ES2015:

ES6 JavaScript 기능을 사용할 수 있는 경우 계산 속성 이름을 사용하여 이를 쉽게 처리할 수 있습니다.

var key = 'DYNAMIC_KEY',
    obj = {
        [key]: 'ES6!'
    };

console.log(obj);
// > { 'DYNAMIC_KEY': 'ES6!' }

JavaScript ® Associative Array 른 java java 、 Associative Array 、 java java java java java java java 。 for each문장은 상속된 프로토타입 속성을 열거하기 때문에 복잡합니다.언급한 대로 할 수 , Pointy/Manager/Manager/Manager/Manager/Managerative 하여야 .push★★★★

jsArr = []; 

for (var i = 1; i <= 10; i++) { 
    jsArr.push('example ' + 1); 
} 

인덱스 어레이는 제로 베이스이므로 첫 번째 요소는 jsArr[1]이 아니라 jsArr[0]이 됩니다.

언급URL : https://stackoverflow.com/questions/2462800/how-do-i-create-a-dynamic-key-to-be-added-to-a-javascript-object-variable

반응형