オブジェクトの注入方法values ()は配列のチェーンになります.


私は連鎖機能が大好きです.
パターンの最初の経験はJavaScript連鎖のjQuery呼び出しでした.アンダースコアが出たときは chain 高速かつクリーンなコードを書く機能.愛した!
どんなに良いES 6 +であるにもかかわらず、エレガントに解決することはできませんし、あなたのチェーンのオブジェクトを持っている場合は、通常の1つのケースがありますreduce , しかし、あなたはそれが配列であるかのようにチェーンでそれを繰り返すことを望みます.
ArrayがLoDashのようなメカニズムを持っているなら、それは素晴らしいでしょう thru それはあなたにチェーンの間、オブジェクトで働く機会を与えました、しかし、それはそうしません.
['foo', 'bar']
  .reduce((acc, val) => {
    acc[val] = {...};
    return acc;
  }, {})
  .thru(obj => Object.values(obj)) // Chain reduce's output
  .sort((a, b) => {...})
しかし、あなたはあなたのreduce 's callback :
['foo', 'bar']
  .reduce((acc, val, i, arr) => {
    acc[val] = {...};
    // On the last iteration return something chainable 
    return i === arr.length - 1 ? Object.values(acc) : acc;
  }, {})
  .sort((a, b) => {...})
このパターンを使用すると、通常は別々に行う必要がありますし、一緒にパッチをする必要がありますあなたのチェーン内のより多くのことを行うことができます.
オブジェクトを作ることができます任意の他のアプローチを知っていますか?