gpt4 book ai didi

javascript - 给定一个值为数组的对象,返回对 [key, array.length] 的最有效方法是什么?

转载 作者:行者123 更新时间:2023-11-30 20:11:50 25 4
gpt4 key购买 nike

我正在尝试在 d3 中制作一个 wordcloud,它要求您的数据采用以下格式

{word : 'hello', size: 3}

但是,我的数据是这样格式化的:

{'hello': [[1,1,15], [2,4,17], [5,8,18]]}

单词本身是键,值是我找到这个单词的日期。所以我需要的是一种方法来给 .words() 对象,但告诉它不要使用实际值本身,而是使用值的长度。有没有一个函数可以用来执行此操作而无需循环遍历数据或更改数据?

我发现我可以使用 d3.entries(wordlist) 来获得几乎正确的格式:

{key: 'hello', value: [[1,1,15], [2,4,17], [5,8,18]]}

但是当将日期发送到 .words() 时,我很难确定用长度替换日期的正确函数是什么。我正在阅读 .map 函数,但我认为这不是完成这项工作的正确工具。

如果绝对必要,我可以事先处理数据,但我想避免它,因为有很多,我正在努力避免不必要的计算或重复数据存储。

最佳答案

您可以使用 Object.entriesmap 来获取名称/长度对的数组:

let obj = {
'hello': [[1,1,15], [2,4,17], [5,8,18]],
'goodby': [[1, 5, 17]],
'hey': [[5, 8, 18], [6, 2, 15]]
}

let arr = Object.entries(obj)
.map(([key, val]) => ({word: key, size: val.length}))
console.log(arr)

这就是你想要的吗?

关于javascript - 给定一个值为数组的对象,返回对 [key, array.length] 的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52322487/

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