본문 바로가기
Javascript

javascript 객체 key-value 반대로 뒤집는 방법

by @hohoya33 2021년 04월 18일

객체 { 'a': 1, 'b':2 } 있을 때 key-value를 뒤집어서 { 1: 'a', 2: 'b' } 이렇게 반대로 만드는 방법 입니다.

let cities = {
  Lyon: 'France',
  Berlin: 'Germany',
  Paris: 'France'
};

let countries = Object.keys(cities).reduce((acc, k) => {
  let country = cities[k];
  acc[country] = [...(acc[country] || []), k];
  return acc;
}, {});

// 한줄로
// let countries = Object.keys(cities).reduce((acc, k) => (acc[cities[k]] = [...(acc[cities[k]] || []), k], acc) , {});
  
  
  
console.log(countries) // { France: ["Lyon", "Paris"], Germany: ["Berlin"] }

개의 댓글