Javascript 如何使用Node.js中的模块等原型?

Javascript 如何使用Node.js中的模块等原型?,javascript,node.js,express,prototype,Javascript,Node.js,Express,Prototype,我创建了一个名为helpers的文件夹,并在其中创建了array.js文件 在我的array.js中,我有以下代码: Array.prototype.inArray() { for(var j in this) { if (this[j] === arguments[0]) { return true; } } return false; } 我希望能够像模块一样使用: myArray.inArray(myargument); 但当我尝试时,终端中会出

我创建了一个名为helpers的文件夹,并在其中创建了array.js文件

在我的array.js中,我有以下代码:

Array.prototype.inArray() {
  for(var j in this) {
    if (this[j] === arguments[0]) {
      return true;
    }
  }
  return false;
}
我希望能够像模块一样使用:

myArray.inArray(myargument);
但当我尝试时,终端中会出现以下错误:

path.js:360
        throw new TypeError('Arguments to path.join must be strings');
              ^
TypeError: Arguments to path.join must be strings
我做错了什么?我明白这一点

暂时忘记我的问题。。我想知道创建模块之类的原型是否有副作用

谢谢

更新:

我正在尝试使用另一个文件中的原型,名为i18nConf.js:

var self = {
    setLanguage: function(language) {
        if (global.config.locales.langs.inArray(language)) {
            global.lang = require(__dirname + '/' + language);
            global.lang.current = language;
        } else {
            global.lang = require(__dirname + '/' + global.config.site.language);
            global.lang.current = global.config.site.language;
        }
    }
};

module.exports = self;

至少需要一次array.js文件


o、 对不起。。我不明白你的问题哈哈。。我将在这里包括完整的代码。您如何要求数组文件您必须在某个地方要求array.js文件函数调用和声明的混合背后是什么?不要使用for…in循环迭代数组。除非完全必要,否则不要使用参数,在这种情况下,您可以声明一个参数。要在数组中查找值,比手动迭代更快。您还可以使用ECMAScript 7中介绍的。
require('pathToArraj.js');