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