programing

키=>값 배열을 JavaScript에 저장하는 가장 좋은 방법?

kingscode 2022. 10. 30. 20:44
반응형

키=>값 배열을 JavaScript에 저장하는 가장 좋은 방법?

를 저장하는 가장 좋은 방법은 무엇입니까?key=>valuejavascript로 배열하고, 어떻게 루프를 통과시킬 수 있습니까?

각 요소의 키는 다음과 같은 태그여야 합니다.{id}아니면 그냥id값은 ID의 수치여야 합니다.

기존 javascript 클래스의 요소이거나 클래스를 통해 쉽게 참조할 수 있는 글로벌 변수여야 합니다.

jQuery를 사용할 수 있습니다.

이것이 바로 JavaScript 오브젝트입니다.

var myArray = {id1: 100, id2: 200, "tag with spaces": 300};
myArray.id3 = 400;
myArray["id4"] = 500;

루프를 사용하여 루프를 통과시킬 수 있습니다.

for (var key in myArray) {
  console.log("key " + key + " has value " + myArray[key]);
}

다음 항목도 참조하십시오.오브젝트 조작(MDN).

ECMAScript6에는 다음과 같은 기능도 있습니다(여기 브라우저 호환성 표 참조).

  • 오브젝트에는 프로토타입이 있기 때문에 맵에는 기본 키가 있습니다.ES5 이후 map = Object.create(null)를 사용하여 이 작업을 우회할 수 있었지만 거의 수행되지 않았습니다.

  • 객체의 키는 문자열과 기호이며, 여기서 맵의 모든 값이 될 수 있습니다.

  • 개체의 크기를 수동으로 추적해야 하는 동안 맵의 크기를 쉽게 얻을 수 있습니다.

내가 제대로 이해했다면:

var hash = {};
hash['bob'] = 123;
hash['joe'] = 456;

var sum = 0;
for (var name in hash) {
    sum += hash[name];
}
alert(sum); // 579

지도을 사용할 수 있습니다.

  • JavaScript ES6에 도입된 새로운 데이터 구조입니다.
  • 키/값 쌍을 저장하기 위한 JavaScript 개체 대신 사용할 수 있습니다.
  • 키/값 쌍에 걸쳐 반복하는 데 유용한 메서드가 있습니다.
var map = new Map();
map.set('name', 'John');
map.set('id', 11);

// Get the full content of the Map
console.log(map); // Map { 'name' => 'John', 'id' => 11 }

키를 사용하여 맵의 값을 가져옵니다.

console.log(map.get('name')); // John 
console.log(map.get('id')); // 11

지도 크기 가져오기

console.log(map.size); // 2

지도에 키가 있는지 확인합니다.

console.log(map.has('name')); // true
console.log(map.has('age')); // false

키를 취득하다

console.log(map.keys()); // MapIterator { 'name', 'id' }

값을 취득하다

console.log(map.values()); // MapIterator { 'John', 11 }

지도 요소 가져오기

for (let element of map) {
  console.log(element);
}

// Output:
// [ 'name', 'John' ]
// [ 'id', 11 ]

키 값 쌍 인쇄

for (let [key, value] of map) {
  console.log(key + " - " + value);
}

// Output: 
// name - John
// id - 11

지도의 키만 인쇄

for (let key of map.keys()) {
  console.log(key);
}

// Output:
// name
// id

지도 값만 인쇄

for (let value of map.values()) {
  console.log(value);
}

// Output:
// John
// 11

javascript에서는 키 값 배열이 객체로 저장됩니다.javascript에는 어레이와 같은 것이 있습니다만, 아직 오브젝트로 간주되고 있는 경우도 있습니다.이쪽의 회답은, 「왜, 이름이 붙은 속성을 오브젝트인 것처럼 어레이에 추가할 수 있는 이유는 무엇입니까?

일반적으로 어레이는 대괄호 구문을 사용하고 오브젝트("key=>value" 어레이)는 대괄호 구문을 사용합니다.다만, Alexey Romanov 가 나타내는 것처럼 대괄호 구문을 사용하여 오브젝트 속성에 액세스 해 설정할 수 있습니다.

javascript의 배열은 일반적으로 숫자 자동 증분 키에서만 사용되지만, javascript 개체는 명명된 키 값 쌍, 함수 및 기타 개체도 보유할 수 있습니다.

심플한 어레이(예:

$(document).ready(function(){

    var countries = ['Canada','Us','France','Italy'];
    console.log('I am from '+countries[0]);
    $.each(countries, function(key, value) {
        console.log(key, value);
    });

});

출력 -

0 '캐나다'

1 '우리'

2 '프랑스'

3 '이탈리아'

위의 예에서는 jQuery.각 함수를 사용하여 숫자 배열을 루프하고 숫자 키가 있는 대괄호를 사용하여 루프 외부에 있는 정보에 액세스할 수 있습니다.

단순 객체(json)

$(document).ready(function(){

    var person = {
        name: "James",
        occupation: "programmer",
        height: {
            feet: 6,
            inches: 1
        },
    }

    console.log("My name is "+person.name+" and I am a "+person.height.feet+" ft "+person.height.inches+" "+person.occupation);

    $.each(person, function(key, value) {
        console.log(key, value);
    });

});

출력 -

제 이름은 제임스이고 6피트 1인치 프로그래머입니다.

제임스라고 부르다

직업 프로그래머

높이 개체 {피트: 6, 인치: 1)

php와 같은 언어에서는 키 값 쌍을 가진 다차원 배열 또는 배열 내의 배열로 간주됩니다.키 값 배열을 루프하는 방법에 대해 질문하셨기 때문에 위의 인물 개체와 같은 개체(키=> 값 배열)를 둘 이상의 사람으로 만드는 방법을 알고 싶으실 것입니다.

javascript 배열은 일반적으로 수치 인덱싱에 사용되고 오브젝트는 연관 인덱싱에 보다 유연하게 사용된다는 것을 알게 되었으므로, 이와 같이 루프를 할 수 있는 오브젝트 배열을 작성하기 위해 함께 사용합니다.

JSON 어레이(개체 배열) -

$(document).ready(function(){

    var people = [
        {
            name: "James",
            occupation: "programmer",
            height: {
                feet: 6,
                inches: 1
            }
        }, {
            name: "Peter",
            occupation: "designer",
            height: {
                feet: 4,
                inches: 10
            }
        }, {
            name: "Joshua",
            occupation: "CEO",
            height: {
                feet: 5,
                inches: 11
            }
        }
    ];

    console.log("My name is "+people[2].name+" and I am a "+people[2].height.feet+" ft "+people[2].height.inches+" "+people[2].occupation+"\n");

    $.each(people, function(key, person) {
        console.log("My name is "+person.name+" and I am a "+person.height.feet+" ft "+person.height.inches+" "+person.occupation+"\n");
    });

});

출력 -

제 이름은 조슈아이고, 키는 5피트 11인치이고 CEO입니다.

제 이름은 제임스이고 6피트 1인치 프로그래머입니다.

제 이름은 피터이고 4피트 10인치 디자이너입니다.

제 이름은 조슈아이고, 키는 5피트 11인치이고 CEO입니다.

루프 외부에서는 숫자 키를 사용하여 대괄호 구문을 사용해야 합니다.이는 오브젝트의 수치 인덱스 배열로 되어 있기 때문입니다.물론 루프 내부에는 숫자 키가 암시되어 있습니다.

배열 내의 객체:

var cars = [
        { "id": 1, brand: "Ferrari" }
        , { "id": 2, brand: "Lotus" }
        , { "id": 3, brand: "Lamborghini" }
    ];

이렇게 하면 됩니다.

var key = "keyOne";
var obj = {};
obj[key] = someValue;

늦은 건 알지만 다른 방법을 원하는 사람들에게 도움이 될 수도 있어.array key=> 값을 저장하는 또 다른 방법은 map(); (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) 라고 하는 배열 방식을 사용하는 것입니다.

 
    var countries = ['Canada','Us','France','Italy'];  
// Arrow Function
countries.map((value, key) => key+ ' : ' + value );
// Anonomous Function
countries.map(function(value, key){
return key + " : " + value;
});

언급URL : https://stackoverflow.com/questions/1144705/best-way-to-store-a-key-value-array-in-javascript

반응형