[英]One line push item array and return item
我有這個:
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可以做到這一點嗎? 理想情況下,我不想創建一個新數組,保留原始數組。
如果要在一行中執行此操作,則可以使用逗號運算符 :
return this.readableStreams.push(readableStream), readableStream;
一個丑陋的解決方案是重寫Arrays原型:
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())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.