Используя общий подход, вы могли бы
var Language = {
"hello.title": {
en: "Hi",
sv: "Hej"
},
"hello.text": {
en: "Hur mår du?",
sv: "How are you?"
},
}
;
// fn receives (value, key), returns a new value for key.
const mapKeys = (fn) => obj => Object.entries(obj)
.reduce((res, [k, v]) => ({...res, [k]: fn.apply(null, [v, k])}), {});
const get = (key) => obj => obj[key];
console.log(mapKeys(get("sv"))(Language));
mapKeys
принимает функцию fn
и возвращает новую функцию, которая принимает объект. Возвращает объект той же формы, но со значением, полученным fn
. Здесь fn
- это просто get
, который просто выбирает данное поле внутри объекта.