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我不这么认为。这没有真正的用处