在Node.js中将对象推入全局声明的数组
我从来没有在Node.js中使用过全局变量,因此我无法理解为什么这不起作用。我声明全局变量是数组,比我想推入一些对象,为了调试我只是想把它串起来。 我试着这样说:在Node.js中将对象推入全局声明的数组
var test = require('./api/test'); //my class
global.arrayOfObjects = []; //declaring array
global.arrayOfObjects.push = new test(123); //docs3._id is something I return from db
console.log(JSON.stringify(global.arrayOfObjects)); //I get []
你必须通过你想要的东西吨至推入数组作为参数:
global.arrayOfObjects.push(new test(123));
这很好,我认为,再加上一个;) –
必须这样做,三选一,你是混入两个:
var test = require('./api/test');
//global.arrayOfObjects = []; not need to declare the var here
global.arrayOfObjects = new test(123); from db
console.log(JSON.stringify(global.arrayOfObjects));
或
var test = require('./api/test');
global.arrayOfObjects = []; //needed to declare with this option
global.arrayOfObjects.push(1);
global.arrayOfObjects.push(2);
global.arrayOfObjects.push(3);
console.log(JSON.stringify(global.arrayOfObjects));
或
global.arrayOfObjects.push(new test(123)); // I think this is the best option
为什么分配'global.arrayOfObjects = []',然后立即分配相同的变量别的东西? – jfriend00
@ jfriend00我真的不建议它......但是OP想要......也许我会用观察更新答案,谢谢 –
@ jfriend00我认为现在更好,你不觉得吗? –
你为什么要重新定义'.push'属性为一个新的对象?你是否打算调用'.push()'方法? – jfriend00