arrays - 使用 React JS 计算字符串数组中的重复项
问题描述
以下是我在 React 应用程序中使用图表 js 创建条形图的代码。在这里,它创建了一个包含数组中所有数据的条形图。但是,我只想更改此代码以在 x 轴 - 目标,y 轴 - 上给出输出。这个目的地的发生率,因为它有许多重复的目的地。我为此搜索了方法,但找不到正确的解决方案。谁能帮我做到这一点?
const dataArrayY4 = [];
res.data.map(item => {
dataArrayY4.push(item.time)
})
const dataArrayX4 = []
res.data.map(item => {
dataArrayX4.push(item.destination)
})
this.setState({
data4: dataArrayY4,
labels4: dataArrayX4,
});
解决方案
我会让代码更有效率。dataArrayY4 不是一个数组,而是一个对象,它具有一个键值和每个值的出现次数。这样,您可以计算 res.data 中所有项目的所有出现次数
const dataArrayY4 = {};
res.data.map(item => {
dataArrayY4[item.destination] = (dataArrayY4[item.destination] || 0) + 1
})
const dataArrayX4 = []
res.data.forEach(item => {
dataArrayX4.push(item.destination)
})
this.setState({
data4: dataArrayY4,
labels4: dataArrayX4,
});
然后,如果您想查找特定值的出现,请使用它,例如。斯里兰卡
this.state.data4['Sri Lanka']
推荐阅读
- smartcontracts - 是否有 API 可以查询或订阅 Elrond 区块链上的事件?
- flutter - 你的项目应该有一个 settings.gradle
- javascript - 手机号码前会自动添加国家代码
- java - 如何创建一个循环来显示每个月的月份和日期?
- php - PHP - 二维数组到字符串
- sql - 如何在 SQL 中的 2 个表中找到所有不匹配的记录?
- tableau-desktop - 在标签外观下编辑文本时遇到问题
- ios - Metro Bundler 需要一段时间才能启动 - ReactNativeCLI
- python - 如何使用 jaydebeapi 传递 SQL Server 驱动程序参数?
- html - 我如何将导航栏的内容向右移动