Javascript 在for循环执行之前返回节点js
我是NodeJS的新手,在我的项目中,有一个函数不等待循环执行Javascript 在for循环执行之前返回节点js,javascript,node.js,Javascript,Node.js,我是NodeJS的新手,在我的项目中,有一个函数不等待循环执行 let prepareExecution = (type) => { let files = []; let filestodelete = []; let data = {}; data.files = files; data.filestodelete = filestodelete; let list = ['vpl_run.sh','vpl_debug.sh', 'vpl_evaluate.sh', 'vp
let prepareExecution = (type) => {
let files = [];
let filestodelete = [];
let data = {};
data.files = files;
data.filestodelete = filestodelete;
let list = ['vpl_run.sh','vpl_debug.sh', 'vpl_evaluate.sh', 'vpl_evaluate.cases'];
for (let i = 0, len = list.length; i < len; i++) {
let fileName = list[i];
let testCase = "Case1";
let test = {};
test[fileName] = testCase;
console.log(test)
data.files.push(test);
}
let test = {};
test.fileName = 1;
data.filestodelete.push(test);
return data;
}
我需要的输出是
{
"files": { 'vpl_run.sh': 'Case1'},
"filestodelete": {
"fileName": 1
}
}
关于上述问题,你能不能请任何人指导我我稍微重新编写了你的代码,因为所有冗余变量都让我有点恼火
let prepareExecution = (type) => {
let data = {};
data.files = [];
data.filestodelete = [];
let list = ['vpl_run.sh','vpl_debug.sh', 'vpl_evaluate.sh', 'vpl_evaluate.cases'];
for (let i = 0, len = list.length; i < len; i++) {
let fileName = list[i];
let test = {};
test[fileName] = "Case1";
console.log(test);
data.files.push(test);
}
let test = {};
test.fileName = 1;
data.filestodelete.push(test);
return data;
}
当我在节点v7.4.0中运行它们时,参数的
类型是什么?这在你的代码中没有任何作用。你的代码中有太多冗余变量,我无法重现。您发布的代码确实返回{“files”:[{“vpl_run.sh”:“Case1”},{“vpl_debug.sh”:“Case1”},{“vpl_evaluate.sh”:“Case1”},{“vpl_evaluate.cases”:“Case1”},“filestodelete”:[{“fileName”:1}]}
您真的用一个缩进空间编写代码吗?您的代码既不会生成您所说的内容,也不会生成您想要的内容.push()
是数组上的一个方法,在两个输出中都不显示任何数组。现在整个问题都搞砸了。您不能从数组开始,然后在其上使用.push()
,最后得到一个普通对象,就像您在两组输出中显示的那样。您解决了什么问题?OP的代码有什么问题?
let prepareExecution = (type) => {
let data = {};
data.files = [];
data.filestodelete = [];
let list = ['vpl_run.sh','vpl_debug.sh', 'vpl_evaluate.sh', 'vpl_evaluate.cases'];
for (let i = 0, len = list.length; i < len; i++) {
let fileName = list[i];
let test = {};
test[fileName] = "Case1";
console.log(test);
data.files.push(test);
}
let test = {};
test.fileName = 1;
data.filestodelete.push(test);
return data;
}
{ files:
[ { 'vpl_run.sh': 'Case1' },
{ 'vpl_debug.sh': 'Case1' },
{ 'vpl_evaluate.sh': 'Case1' },
{ 'vpl_evaluate.cases': 'Case1' } ],
filestodelete: [ { fileName: 1 } ] }