如何在节点 js 中使用 module.exports 导出数组?
Posted
技术标签:
【中文标题】如何在节点 js 中使用 module.exports 导出数组?【英文标题】:How do I export an array with module.exports in node js? 【发布时间】:2017-05-04 06:50:35 【问题描述】:我有一个使用 node.js 的项目。这是我第一次使用 nodejs,我想将一个数组导出到我的应用程序。这是一些代码:
module.exports =
var arrays = [];
arrays[0] = 'array 0';
arrays[1] = 'array 1';
arrays[2] = 'array 2';
arrays[3] = 'array 3';
arrays[4] = 'array 4';
var r_array = arrays[Math.floor(Math.random() * arrays.length)].toString();
最后我想在我的 app.js 中使用var r_array
,但我不知道怎么做。
【问题讨论】:
【参考方案1】:您想定义一个返回数组随机部分的函数:
module.exports =
getRArray: function()
var arrays = [];
arrays[0] = 'array 0';
arrays[1] = 'array 1';
arrays[2] = 'array 2';
arrays[3] = 'array 3';
arrays[4] = 'array 4';
return arrays[Math.floor(Math.random()*arrays.length)];
;
您还应该将数组嵌入到函数中,以便它实际返回一些内容。
【讨论】:
【参考方案2】:var arrays = [];
arrays[0] = 'array 0';
arrays[1] = 'array 1';
arrays[2] = 'array 2';
arrays[3] = 'array 3';
arrays[4] = 'array 4';
var r_array = arrays[Math.floor(Math.random()*arrays.length)].toString();
module.exports = r_array;
【讨论】:
好的,谢谢!但我还有一个问题。那么只有一个随机数组。如果我每次都想要另一个数组,我该怎么做? :) 您应该检查@therobinkim 的答案。但请注意,如果您将toString
应用于结果,您不会每次都得到一个随机数组。这意味着该值将被转换为字符串,因此您每次都会得到一个随机字符串。【参考方案3】:
module.exports
需要是一个对象。
也许您正在寻找类似的东西:
var arrays = [];
arrays[0] = 'array 0';
arrays[1] = 'array 1';
arrays[2] = 'array 2';
arrays[3] = 'array 3';
arrays[4] = 'array 4';
var r_array = arrays[Math.floor(Math.random()*arrays.length)].toString();
module.exports = r_array;
请注意,此代码只会运行一次,如果您希望通过多次执行代码来获得不同的随机值,您可能希望将其设置为:
module.exports = function()
return arrays[Math.floor(Math.random()*arrays.length)];
这样Math.random()
操作就会一遍又一遍地发生。
【讨论】:
以上是关于如何在节点 js 中使用 module.exports 导出数组?的主要内容,如果未能解决你的问题,请参考以下文章