【问题标题】:How to load array of data into dataset format using React Native?如何使用 React Native 将数据数组加载到数据集格式?
【发布时间】:2021-07-23 08:27:00
【问题描述】:

在我的场景中,我试图在加载到折线图之前重组数组。在这里,我收到了类似的道具:const data = [26.727, 26.952, 12.132, 25.933, 12.151, 28.492, 12.134, 26.191]

我想在加载到折线图之前像下面这样重组数据

   const dataTwo = [

{
          value: 26.727,
          svg: {
            fill: Colors.WHITE,
          },
        },
        {
          value: 26.952,
          svg: {
            fill: Colors.WHITE,
          },
        },
       {
          value: 12.132,
          svg: {
            fill: Colors.WHITE,
          },
        },,
        {
          value: 25.933,
          svg: {
            fill: Colors.WHITE,
          },
        },
        {
          value: 12.151,
          svg: {
            fill: Colors.WHITE,
          },
        },
        {
          value: 28.492,
          svg: {
            fill: Colors.WHITE,
          },
        },,
        {
          value: 12.134,
          svg: {
            fill: Colors.RED,
          },
        },
        {
          value: 12.134,
          svg: {
            fill: Colors.WHITE,
          },
        },

索引前最后一个数组,我需要插入唯一的颜色值。

【问题讨论】:

    标签: javascript typescript react-native


    【解决方案1】:

    考虑这个例子:

    enum Colors {
        WHITE = 'white',
        RED = 'red'
    }
    const data = [26.727, 26.952, 12.132, 25.933, 12.151, 28.492, 12.134, 26.191]
    
    const DEFAULT_SVG = {
        fill: Colors.WHITE,
    }
    
    
    const makeElem = (value: number) => ({ value, svg: DEFAULT_SVG })
    
    const applySvg = (value: { value: number, svg: { fill: Colors } }, index: number) => index === 6 ? {
        ...value,
        svg: {
            fill: Colors.RED,
        }
    } : value
    const predicate = (elem: number, index: number) => applySvg(makeElem(elem), index)
    
    const builder = (props: number[]) =>
        props.map(predicate)
    
    const result = builder(data)
    

    只需将您的道具传递给builder 函数

    Playground

    【讨论】:

    • 谢谢。顺便说一句,再次需要使用 dataSet 硬编码吗?实际上,props.data 中的这个 dataSet 数组形成是我通过索引值手动加载的,而不是数据集值应该根据 props.data 计数加载,它会将所有值提取到 dataSet 数组中。
    • 对不起,我只是忘了删除硬编码数组。更新了
    • 请分享您如何称呼它的确切示例。因为它在操场上工作
    • 没问题。所有值:0 它正在加载,但数据格式非常好。 const builder = (dataSet: any[] )=> { var finalData = new Array(dataSet.length) .fill(0) .map(predicate) console.log("DATA*********** ************:",finalData) 返回最终数据; }
    • 上述解决方案不起作用。数据为空,但传递的道具数据在那里。
    猜你喜欢
    • 2021-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    • 1970-01-01
    • 2017-11-09
    • 2015-09-19
    相关资源
    最近更新 更多