即使我的数据是数组也无法读取推

时间:2019-03-23 03:12:32

标签: reactjs

我正在构建一个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函数中的每个参数填充列。

1 个答案:

答案 0 :(得分:0)

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)