【问题标题】:Unable to read push even tho my data is an array即使我的数据是数组也无法读取推送
【发布时间】:2019-03-23 03:12:32
【问题描述】:

我正在构建一个 for 循环以循环到一个包含多个带有键的对象的数组中。出现的主要错误是即使我导出的 const 是一个数组,也没有定义“push”。

我已经尝试更改导出 const 变量的位置,并将其更改为仅返回创建堆积到数组中的对象的函数。

function Data (key, id, age, gender, race, living, income) {
    return {
      key: key,
      id: id,
      age: age,
      gender: gender,
      race: race,
      living: living,
      income: income
    }
}
/* setRandomData {Function}
 * size {param} Int
 * let setOutput
*/
function setRandomData (size) {
  for (let i = 0; i <= size; i++) {
    let output = (i**3 + 10000);
    let setOutput = output.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
    data.push(Data(1+size[i], i, (i + 20), 'NA', 'NA', 'single',setOutput))
  }
}

export const data = [setRandomData(200)]

预期的结果是列将填充来自 Data 函数的每个参数。

【问题讨论】:

    标签: reactjs


    【解决方案1】:

    Javascript 是一种函数式语言,这意味着函数应该返回一些东西。请避免使用全局变量。您可以将结果本地存储在函数中,然后返回。这是工作代码:

    function setRandomData (size) {
      let data = []
      for (let i = 0; i <= size; i++) {
        let output = (i**3 + 10000);
        let setOutput = output.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
        data.push(Data(1+size[i], i, (i + 20), 'NA', 'NA', 'single',setOutput))
      }
      return data;
    }
    export const data = setRandomData(200)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-18
      • 1970-01-01
      • 1970-01-01
      • 2018-08-01
      • 2022-12-08
      • 2017-10-16
      • 2023-04-01
      相关资源
      最近更新 更多