所以,我在Node.JS中创建了一个构造函数,我遇到了一些问题。
function server(server) {
this.channels = new Array
var channels = server.channels.array(); // Gets array of Channel Objects
channels.forEach(function(selectedchannel){
if (selectedchannel.constructor.name == "TextChannel") {
channels.push(selectedchannel.name) // <- Here
}
});
我想将所有通道的名称添加到this.channels数组中, channels.push会添加到channels-variable,this.channels.push会选择我传递给forEach的匿名函数。 我该怎么做呢? (我是一个菜鸟,怜悯)
答案 0 :(得分:0)
你可以试试这个:
function Server(server) {
let channels = server.channels.array();
this.channels = channels.map(selectedchannel => {
if (selectedchannel.constructor.name === 'TextChannel') {
return selectedchannel.name;
}
}).filter(data => !!data);
}
构造函数应以大写字母开头。 不需要为数组,函数和其他类型调用构造函数,但是在没有括号的情况下调用它是错误的。 数组映射函数返回一个新数组,过滤器将删除空/假值。