javascript - 在 javascript 中使用数组从 JSON 获取元素

标签 javascript arrays json

我有一个 javascript 对象,看起来像

dict1 =    {"key1":"value1",
             "key2":"value2",
             "key3":"value3",
             "key4":"value4",
             "key5":"value5"}

接下来我有一个数组 arr1 = ["key1","key2"]

我需要做的就是从数组中基于 dict1 的元素中获取值并将它们连接为字符串。
听起来相当简单:

dict1[arr1[0]] + '-' + dict1[arr1[1]]

输出:

value1-value2

对我来说棘手的部分是数组 arr1 可以是任意长度,但始终是 dict1 中存在的键的子集。例如:

arr1= ["key2","key5"]
arr1= ["key1","key5","key3"]
arr1= ["key4"]

根据这些输入,预计会输出以下内容:

value2-value5
value1-value5-value3
value4

我在编写通用脚本来动态创建字符串时遇到问题

最佳答案

您可以映射您想要从对象中“提取”值的键,并使用 join 将所有这些值连接在一起。

const dict1 = {
  "key1": "value1",
  "key2": "value2",
  "key3": "value3",
  "key4": "value4",
  "key5": "value5"
}

arr1 = ["key2", "key5"];
arr2 = ["key1", "key5", "key3"];
arr3 = ["key4"];

const pluckAndConcat = (obj, keys) => keys.map(key => obj[key]).join("-");

console.log(pluckAndConcat(dict1, arr1));
console.log(pluckAndConcat(dict1, arr2));
console.log(pluckAndConcat(dict1, arr3));

关于javascript - 在 javascript 中使用数组从 JSON 获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61661400/

相关文章:

javascript - 从一组 float 元素中计算出行中的最后一个 div

javascript - 为什么 puppeteer 给我发回手机截图?

java - 在不使用对象的情况下对不同数据类型的多个数组进行排序

javascript - 从服务器检索 JSON.parse() 字符串

javascript - 如何从对象中获取键值?

javascript数组日期错误

javascript - 按元素分块数组

java - 使用具有多个比较器的比较器

json - 解码复杂的 Json

javascript - click() 在 rails 3.2.1 中不起作用 - 自动点击