1

I have module like this in node 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,
}

i am calling this module like this

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

i got error like this 500 ReferenceError: array is not defined no error if i return only types or typeList or binaryDTs. How return array of arrays in node js?

2 Answers 2

6

Your error is here:

var data = array();

Write the following instead:

var date = [];

Actually replace every new Array() with [].

Instead of

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

write var typeList = [ "varchar" ]; and so on.

EDIT:

Actually your whole function can be reduced to:

var types = function() {
     return [ [ "varchar" ], [ "tinyint" ], [ "tinyblob" ] ];
};
Sign up to request clarification or add additional context in comments.

2 Comments

Ah... after your last edit, my update seems much more minor than it was intended to be :-)
@JanDvorak: Thx, I edited that. I also upvoted your answer as it is a even shorter solution.
5

Expanding on the other answer,

assuming you don't use the function anywhere else, you could just write

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.