javascript - 如何将一个数组中的连续值插入到另一个映射数组中?

标签 javascript arrays reactjs dictionary

我对 Javascript 还很陌生,并且我正在使用的组件遇到问题。

我有一组数据,已成功映射到组件中。我有另一个数组,其中包含我希望作为 Prop 传递的视觉属性。例如,我希望第一个返回为红色,下一个返回为蓝色,最后一个返回为绿色,然后重复该序列。我该怎么做?

我已经解决了这个问题,但你会立即明白为什么我的解决方案不起作用。我明白为什么这不起作用,但我不确定下一步该尝试什么。

有人能指出我正确的方向吗?

const colorsList = ["red", 'blue', "green"]
console.log(colorsList)

const IndustriesPage = ({data}) => (
  <Layout>
        <HeroInternal
          title="Industries"
        />
        <GridBlock>
          {data.allContentfulPageCaseStudy.edges.map(function(target){
            return(
                <TextLinkModule
                  linkTitle = {target.node.industry}
                  titleModifier = 'textLinkModule__title--small'
                  backgroundColor = {colorsList.map(function(target){
                    return(
                       target,
                       console.log(target)
                    )
                  }
                  )}
                  linkDestination = {`industries/${target.node.industry}`.split(' ').join('-').split('&').join('and').toLowerCase()}
                  // backgroundImage = {target.node.linkBackgroundImage.fluid.src}
                /> 
              )
            })
          }
        </GridBlock>
        <ContactUsBlock></ContactUsBlock>
  </Layout>
)

最佳答案

map function返回数组每个成员的值和索引。您可以使用每个的索引从colorsList数组返回单个值。

data.allContentfulPageCaseStudy.edges.map(function(target, idx){
...
backgroundColor = { colorsList[idx % colorsList.length] }

关于javascript - 如何将一个数组中的连续值插入到另一个映射数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59758377/

相关文章:

javascript - 使用 jQuery、+= 和 -= 支持设置 css3 转换属性

javascript - 运行 Node 4.4.7 时收到严格模式警告

javascript - 用于下载文件的flask html链接

javascript - 为什么在构建脚本中使用 "rimraf dist"命令

ios - 将字节数组转换为 UIImage

php - Wordpress SQL 请求,其中包含 WHERE 子句中数组中的数据

arrays - 在 Julia 中替换数组中特定条目的值

javascript - react `context` 始终为空对象

javascript - 没有使用 webpack 加载的 React 图标

javascript - Antd 表单初始值在状态更改后不更新