[javascript] object, Array의 치환 (mapKeys, Object.values)

6534 단어 JavaScriptJavaScript

데이터를 reducer에 저장할 때는, object의 형태로 저장하는 것이 좋고, JSX로 데이터를 뿌릴때는 map을 사용하기 위해서 Array형태로 변환해야 한다.

mapKeys(array: Array<{}>, key: string)

return Value : Object<{}>

: lodash의 function으로 Array<{}>형태의 데이터를 key값의 object로 빼내어 Array를 Object형태로 변환하는 것

let array = [
  {
    id: 1,
    name: "cho",
    age: 34,
  },
  {
    id: 2,
    name: "park",
    age: 30,
  },
  {
    id: 3,
    name: "heo",
    age: 25,
  },
  {
    id: 4,
    name: "nam",
    age: 39,
  },
];
_.mapKeys(array, "id");
/* result
{
    "1": {
        "id": 1,
        "name": "cho",
        "age": 34
    },
    "2": {
        "id": 2,
        "name": "park",
        "age": 30
    },
    "3": {
        "id": 3,
        "name": "heo",
        "age": 25
    },
    "4": {
        "id": 4,
        "name": "nam",
        "age": 39
    }
}
*/

Object.values(obj: Object)

return Value : Array<{}>

: object의 value값만 빼내어, Array로 변환하는 것
: key값이 숫자로 되어 있으면, 숫자순으로 정렬되어 array로 들어가게 된다.

let obj = {
  1: {
    id: 1,
    name: "cho",
    age: 34,
  },
  2: {
    id: 2,
    name: "park",
    age: 30,
  },
  3: {
    id: 3,
    name: "heo",
    age: 25,
  },
  4: {
    id: 4,
    name: "nam",
    age: 39,
  },
};

Object.values(obj);
/*result
[
  {
    "id": 1,
    "name": "cho",
    "age": 34
  },
  {
    "id": 2,
    "name": "park",
    "age": 30
  },
  {
    "id": 3,
    "name": "heo",
    "age": 25
  },
  {
    "id": 4,
    "name": "nam",
    "age": 39
  }
]
*/

좋은 웹페이지 즐겨찾기