최대 1 분 소요

이미지

[TIL]

React 레슨

Object.keys

map, filter

배열이 아닌 객체에서 map을 사용하려면 Object.keys()를 사용해야 한다.

또한, 만약 filter를 하고 싶다면

const raw = {
  item1: { key: "sdfd", value: "sdfd" },
  item2: { key: "sdfd", value: "sdfd" },
  item3: { key: "sdfd", value: "sdfd" },
};

const allowed = ["item1", "item3"];

const filtered = Object.keys(raw)
  .filter((key) => allowed.includes(key))
  .reduce((obj, key) => {
    obj[key] = raw[key];
    return obj;
  }, {});

console.log(filtered);

key를 기준으로 특정 배열과 비교하여 filtering 한다.

혹은

Object.fromEntries(Object.entries(obj).filter(([key]) => key.includes("Name")));

Object를 entry들의 배열로 바꾼 다음, filtering을 거쳐서 다시 Object로 변환한다.

Array to Object

만약 배열에서 객체로 변경하려면??

spread 연산자 사용한다.

Object.assign({}, ['a','b','c'])

{...['a','b','c']}

댓글남기기