gpt4 book ai didi

javascript - 将对象值从一个对象映射到另一个对象

转载 作者:行者123 更新时间:2023-11-28 17:23:15 24 4
gpt4 key购买 nike

我有一个如下所示的区域设置对象

 {
hello.title: {
en: "Hi",
sv: "Hej"
},
hello.text: {
en: "Hur mår du?",
sv: "How are you?"
},
}

function mapToNewObj(locale, obj) {


// Here I want to return a new object that looks like this
let's say the locale is "sv"

return {
hello.title: Hej,
hello.text: 'Hur mår du?'
}
}

我想创建一个新对象,其中键是“hello.title”,值是作为第一个参数传入的区域设置的字符串。

我该怎么做?

最佳答案

使用通用方法,您可以

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,它只是选择对象内的给定字段。

关于javascript - 将对象值从一个对象映射到另一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52076929/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com