如何返回节点js中的数组数组?

ope*_*guy 1 javascript node.js express

我在节点js中有这样的模块

var types =  function (){

  var typeList= new Array();
  typeList[0] = "varchar";

  var numericDTs= new Array();
  numericDTs[0] = "tinyint";

  var binaryDTs= new Array();
  binaryDTs[0] = "tinyblob";

  var data = array();
  data[0] = typeList;
  data[1] = numericDTs;
  data[2] = binaryDTs;

  return data;
}

module.exports = {
  types: types,
}
Run Code Online (Sandbox Code Playgroud)

我这样称这个模块

var types = require("./include/types");
console.log(types.types());
Run Code Online (Sandbox Code Playgroud)

我有这样的错误 500 ReferenceError: 如果我只返回类型或typeList或binaryDTs,则没有定义数组没有错误.如何返回节点js中的数组数组?

Amb*_*mps 5

你的错误在这里:

var data = array();
Run Code Online (Sandbox Code Playgroud)

写下以下内容:

var date = [];
Run Code Online (Sandbox Code Playgroud)

其实每一个替换new Array()[].

代替

var typeList= new Array();
typeList[0] = "varchar";
Run Code Online (Sandbox Code Playgroud)

var typeList = [ "varchar" ];等等.

编辑:

实际上你的整个功能可以简化为:

var types = function() {
     return [ [ "varchar" ], [ "tinyint" ], [ "tinyblob" ] ];
};
Run Code Online (Sandbox Code Playgroud)


Joh*_*rak 5

扩展另一个答案,

假设您不在其他任何地方使用该功能,则可以编写

 module.exports = {
   types: function(){
     return [["varchar"], ["tinyint"], ["tinyblob"]];
   }
 }
Run Code Online (Sandbox Code Playgroud)