【发布时间】:2023-01-23 01:48:23
【问题描述】:
我想保存从函数返回的内容,所以当我再次调用它时,函数返回会继续保存,但保存的返回值每次都会更改。有没有一种方法可以保存返回的东西,所以当我再次调用它时,会保存前一个并添加新的。我想在使用工厂函数制作对象时使用它,其中一个参数是随机制作的,我想保存那个随机实例,但问题是如果再次调用文件,随机实例就会改变。如果有人能告诉我一种保存输出的方法,我将非常感激,这样当我再次运行 js 文件时,它会被添加而不是被替换。例如:
let list = []
const pushingNum = (num) => {
for (let x = 1; x <= num; x++) {
list.push(x)
}
}
pushingNum(2)
console.log(list)
如果我运行该文件三次,我期望的输出是 [1,2,1,2,1,2],但即使多次运行 js 文件,输出也是 [1,2]。
我也试过:
let list = []
const pushingNum = (array) => {
for (const x of array) {
list.push(x)
}
}
pushingNum(['g', 'g', 'g'])
console.log(list)
运行文件两次后仍预期输出 ['g', 'g', 'g', 'g', 'g', 'g'] 但输出为 ['g', 'g', ' G']。
【问题讨论】:
-
您每次都创建一个新数组。为什么期望数组会持续存在而其余代码不会?
-
您需要为解决方案提供更多上下文,即。您在哪里“运行文件”,是在浏览器中还是在本地通过节点?问题的症结在于您需要在某处保存数组状态,方法是在本地写入文件,或者可能使用现代 DOM 环境提供的 client side storage API 之一。
-
我通过节点在本地运行它
-
您可能希望将数据保存到文件或数据库中。因为当进程结束时,变量中的所有数据都被删除了。多次运行脚本,不会在运行之间保存变量
标签: javascript arrays function push