◆ データ無くてもいきなり push できるメソッド作りました
◆ ECMA6 見やすい 

配列やオブジェクトに対して 特定のキーにデータを配列で追加していきたいってけっこうな頻度でありますよね
最初は undefined なので データをつくって すでにデータがあると push して という分岐があって見づらいものです

そこで ちょっと楽できるように arrayPush メソッドを用意しました


例えば
var array = [1,4,3,2,1,4,3]
var obj = {}
array.forEach((e,i) =>{
if(obj[e]){
obj[e].push(i)
}else{
obj[e] = [i]
}
})
こういうの
特に意味があるコードじゃないですが 配列の値で同じ値のもののインデックスを配列で欲しいときです

これが arrayPush使うとこうなります
var array = [1,4,3,2,1,4,3]
var obj = {}
array.forEach((e,i) => obj.arrayPush(e, i))

すごく見やすいですよね


arrayPush メソッドの中身はこれです
Object.prototype.arrayPush = function(key /*, ...args*/){
var pushValues = [...arguments].slice(1) /* args.slice(1) */
if(key in this){
if(this[key] instanceof Array){
this[key] = [...this[key], ...pushValues]
}else{
this[key] = [this[key], ...pushValues]
}
}else{
this[key] = pushValues
}
}

ECMA6 で書いてますが 普通に書くより格段に見やすいです
「...」 便利!!

引数の受け取りのところの「...」は Chrome ではできないので arguments にしてます
対応すればコメントのようにできるはずです
arguments でもコード量は特に変わらないですが 引数が 2 つ以上対応ってわかるのでどうせなら ...args のほうがいいですね