Javascript 单行推送项数组和返回项
我有这个:Javascript 单行推送项数组和返回项,javascript,node.js,Javascript,Node.js,我有这个: getReadableStream() { const readableStream = new Readable({ read(size) { return false; } }); this.readableStreams.push(readableStream); return readableStream; } 但是,如果我可以推送到数组并在同一个调用中返回项目,那就太好了,我正在寻找以下内容:
getReadableStream() {
const readableStream = new Readable({
read(size) {
return false;
}
});
this.readableStreams.push(readableStream);
return readableStream;
}
但是,如果我可以推送到数组并在同一个调用中返回项目,那就太好了,我正在寻找以下内容:
getReadableStream() {
return this.readableStreams.push(new Readable({
read(size) {
return false;
}
}));
}
当然,
Array.prototype.push
不会返回被推送的项目。有没有办法用JavaScript实现这一点?理想情况下,我不想创建新阵列,而是保留原始阵列。一个丑陋的解决方案是覆盖阵列原型:
Array.prototype.pushAndReturn = function(el){
this.push(el);
return el;
};
所以你可以
return readableStreams.pushAndReturn(new Readable())
或者,只需创建一个帮助器:
const push = (arr, el) => arr.push(el) && el;
因此,您可以:
return push(readableStreams, new Readable())
一个丑陋的解决方案是覆盖阵列原型:
Array.prototype.pushAndReturn = function(el){
this.push(el);
return el;
};
所以你可以
return readableStreams.pushAndReturn(new Readable())
或者只创建一个帮助程序:
const push = (arr, el) => arr.push(el) && el;
因此,您可以:
return push(readableStreams, new Readable())
如果您想在一行中完成,可以使用:
如果您想在一行中完成,可以使用:
是啊,真遗憾,这根本不存在natively@alexander我不这么认为。这没有真正的用处是的,这不存在真是太遗憾了natively@alexander我不这么认为。这没有真正的用处