Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在for循环执行之前返回节点js_Javascript_Node.js - Fatal编程技术网

Javascript 在for循环执行之前返回节点js

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

我是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', '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 } ] }