javascript - 同时映射两个数组并传递给一个 React 组件
问题描述
我正在创建一个排序可视化工具,它将跟踪排序算法的所有步骤。
const initializeTrace = (arr) =>
{
let newState = Array(arr.length).fill(0);
return [
{
array: [...arr],
states: [...newState],
}
];
};
const addToTrace = (trace, currArr, currStates) =>
{
let tmpArr = [...currArr];
let tmpState = [...currStates];
trace.push(
{
array: tmpArr,
states: tmpState,
}
)
};
然后,我将跟踪并将其映射到排序可视化器的条形图上。
return (
<div onClick={this.onClick} style={{display: 'flex', alignItems: 'flex-end'}}>
{trace[this.state.traceStep].array.map((el, index) => (
<Bar key={index} height={el}/>
))}
</div>
)
对象中第一个索引的示例:
{
"array": [
15,
32,
10,
11,
29,
20,
7,
49,
11,
21
],
"states": [
1,
2,
0,
0,
0,
0,
0,
0,
0,
0
]
}
现在我正在传递会影响条形高度的值。我也想传递状态,这将帮助我确定跟踪期间条的颜色。有没有更好的方法将此信息传递给 Bar 组件。例如,对于第一个栏,我想传递高度为 15,状态为 1。第二,32,2。谢谢!
解决方案
推荐阅读
- sas - 用于 SAS 的 %CEM 宏:指定用于匹配的变量
- node.js - Node/Express:解压缩目录时模拟 req.files
- vbscript - 检查多台机器上正在运行的进程
- python - 清理文件夹列表,只保留每组文件夹中的顶级文件夹
- php - Laravel 本地磁盘 append() 占用大量内存
- python - 在 python 中打开带有标签的 POS 标记的 .txt 文件
- c# - 如何根据标签的值禁用按钮
- javascript - 未知格式转换为 JSON
- nfc - 为什么这个 ATS 的长度字节这么大?
- ffmpeg - FFMpeg - 将所有音频流从 MKV 转换为 MP4