reactjs - 如何在 React 中有 2 个同步的嵌套循环?
问题描述
我目前在 React 中有这个循环,它通过一个元素列表。我现在想要另一个列表,每个外部循环只循环一次。不确定这是否足够清楚,但假设我的第一个列表是 ["a","b","c"],我的第二个列表是 ["1","2","3"]。我希望结果是 1a、2b、3c。我知道如何使用普通的 for 循环来完成此操作,但我不知道如何在 React 中完成此操作。
const Packages = ({ props }) => {
const { title, packages } = props;
return (
<div className="productsContainer">
<h2>{title}</h2>
<Container fluid={true}>
<Row noGutters={true}>
{packages.map((el, index) => {
return (
<Col key={index} md={4} xs={12}>
<div className="package" style={{ backgroundColor: el.bgColor }}>
<img alt="package" src={el.image} className="svg" />
<div className="packageInfo" style={{ backgroundColor: el.bgColor }}>
{document.getElm}
<div className="packageName">
<a href="/packages">
<button>{el.title}</button>
</a>
</div>
<Row>
{el.list.map((element, index) => {
return (
<Col md={6} key={index} className="textInfo" style={{ color: el.textColor }}>
<p>{el.icons} {element}</p>
</Col>
);
})}
</Row>
</div>
<div className="packageMore">
<a href="/packages">{el.link}</a>
</div>
</div>
</Col>
);
})}
</Row>
</Container>
</div>
);
};
export default Packages;
packages: {
title: "Title",
packages: [
{
title: "Start",
list: ["List1", "List2"],
icons: ["<i className=\"fas fa-briefcase\"></i>", "<i className="fas fa-briefcase"></i>"],
link: "Link",
bgColor: "white",
textColor: "black",
image: START,
},
解决方案
lodash 库为此提供了 zip 方法
_.zip(['a', 'b', 'c'], [1, 2, 3]).map(([v1, v2]) => {
console.log(v1 + '-' + v2)
})
// result
// a-1
// b-2
// c-3
推荐阅读
- php - 如果使用 PHP 未找到,则使用默认值进行正则表达式分组
- android - 如何让我的凌空 GET 请求从非安全协议返回信息?
- javascript - 不同按钮的切换功能
- java - 我可以使用带有 label.setText 的 void 方法吗?
- angular - 无法扩展垫行
- command-line - WinSCP 命令行 - 使用 -rawtransfersettings 开关时命令“打开”的参数过多
- azure-devops - 让多阶段构建使用与触发构建相同的分支
- python - 如何创建简单的自定义热图?
- android - 离线 Mapbox 混乱
- java - tictactoe minmax 递归导致混乱