2020年10月18日日曜日

javascriptでもrubyのようにmapやselectをメソッドチェーンして使う方法

filter(select) + map

const ids = this.visits.filter(visit => visit.bulk_action_flag).map(visit => visit.id)

map + reduce

reduceで配列の総和を計算。
return visit.items.map(item => item.purchase_unit * item.count).reduce(function(prev, current) {
  return prev + current;
}, 0);

2020年10月4日日曜日

Chart.jsで特定のデータセットだけ凡例を表示する。

  グラフ中にデータセットが多いと凡例も多くなり返って見辛い。。

特定のデータだけ凡例を出すということができないかと思っていたらできた!

 凡例の設定をする options.legend はデータごとに記載はできない。が以下のようにすると表示対象を絞ることができる。

      legend: {

        display: true,

        position: 'left',

        labels: {

          filter: function(items, chartData) {

            return items.text.startsWith("累計")

          }

        },

        reverse: true

      } 

 これだとラベルが「累計」で始まるデータの凡例だけを表示する。

reverse: trueは凡例の並び順をデータ順と逆にするために設定。線グラフの積み上げグラフだと初めてにデータ定義した方が下に来てしまうのでわかりやすくするため凡例も並びが同じなるようにしている。