Javascript 从另一个字典创建字典

标签 javascript dictionary

如果我有如下所示的字典:

const d = {"S1": [2, 3, 4], "S2": [5, 6, 7, 8]}

我想创建另一个字典,它可以使用相同的键获取 len 或第一个元素作为值,例如:

const n = {"S1": 3, "S2": 4} # len of the value array

我尝试使用如下所示的 map :

Object.entries(d).map(([k, v]) => console.log(k, v))

它打印键值对,但我如何使用它来创建新字典?

最佳答案

您已经在正确的方向上有了良好的开端。
Object.fromEntries 可用于将键值对数组转换回带有您开始使用的 Object.entries + map 的对象

const d = {"S1": [2, 3, 4], "S2": [5, 6, 7, 8]}

const res = Object.fromEntries(Object.entries(d).map(([k,v]) => [k,v.length]))

console.log(res)

作为替代方案,您可以使用 Object.entries + reduce 实现相同的效果

const d = {"S1": [2, 3, 4], "S2": [5, 6, 7, 8]}

const res = Object.entries(d).reduce((acc,[k,v]) => ({...acc,[k]:v.length}),{})

console.log(res)

关于Javascript 从另一个字典创建字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75881721/

相关文章:

javascript - 如何将 Javascript 函数转换为 JQuery

javascript - 迭代 JSON 将结果放入数组

c# - 将字典的所有值除以一个值

ios - 更正对象和语法以将​​杂项元数据传递给 Swift 中的另一个方法

javascript - AngularJS 中的 templateRequest 回退

javascript - 内容固定时通过触摸或滚动导航

javascript - 使用嵌套 for 循环创建 HTML 表格

python - 将嵌套字典中出现的所有类型提升到顶级键

python - 在方法调用参数中,如何覆盖解压字典的关键字参数?

python - 试图在 DataFrame 的切片副本上设置一个值