1

我在节点 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,
}

我这样称呼这个模块

var types = require("./include/types");
console.log(types.types());

我得到了这样的错误 500 ReferenceError: array is not defined 如果我只返回类型或 typeList 或 binaryDTs,则没有错误。如何在节点js中返回数组数组?

4

2 回答 2

6

你的错误在这里:

var data = array();

请改写以下内容:

var date = [];

实际上将每个替换new Array()[].

代替

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

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

编辑:

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

var types = function() {
     return [ [ "varchar" ], [ "tinyint" ], [ "tinyblob" ] ];
};
于 2013-01-23T15:58:02.970 回答
5

扩展另一个答案,

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

 module.exports = {
   types: function(){
     return [["varchar"], ["tinyint"], ["tinyblob"]];
   }
 }
于 2013-01-23T16:04:23.563 回答