Jan 24 2015
The Good Parts「良いパーツ」によるベストプラクティスを読んだので、 忘れないようにArrayメソッドについてまとめておく。
自分自身と引数で渡された要素を連結し、新しい配列を返す。
var a = ["a", "b", "c"]; var b = ["e", "f", "g"]; var c = a.concat(b); // a → ["a", "b", "c"] // b → ["e", "f", "g"] // c → ["a", "b", "c", "e", "f", "g"]
配列から文字列を生成する。
引数には連結時の文字列を指定できる。
var a = ["a", "b", "c"]; var b = a.join(""); var c = a.join("-"); // b → abc // c → a-b-c
配列の最後から一つ削除する。
配列が空だった場合、undefined
を返す。
var a = ["a", "b", "c"]; a.pop(); // ["a", "b"]
配列の最後に値を追加する。
pushを実行したメソッドそのものを書き換える。
配列を渡した場合は、そのまま追加される。
var a = ["a", "b", "c"]; var b = a.push("d"); // a → ["a", "b", "c", "d"] // b → 4 var c = ["d", "e", "f"]; a.push(c); // a → ["a", "b", "c", "d", ["d", "e", "f"]]
配列内の値の順番を入れ替えることができる。
その配列自身を返す。
var a = ["a", "b", "c"]; var b = a.reverse(a); // a → ["c", "b", "a"]
配列の一番目の値を削除し、削除した要素を返す。
var a = ["a", "b","c"]; var b = a.shift(a); // a → ["b", "c"] // b → a
配列の一部からコピーを作成する。
コピーする範囲は引数の、startからendで指定できる。
endは省略可能で、省略した場合はarray.lenght
となる。
var a = ["a", "b", "c", "d", "e"]; var b = a.slice(1, 3); var c = a.slice(3); // a → ["a", "b", "c", "d", "e"] // b → ["b", "c"] // c → ["d", "e"]
配列内の値をソートし並び替える。
ただし、値が数字の場合文字列として認識されてしまうため、上手くソートされない。
var a = ["c", "a", "d", "b"]; a.sort(a); // a → ["a", "b", "c", "d"] var b = ["c", "a", "d", "b", "B", "A", "AA"]; b.sort(b); // b → ["A", "AA", "B", "a", "b", "c", "d"] var c = [30, 21, 17, 3, 47]; c.sort(c); // c → [17, 21, 3, 30, 47]
数字の場合は以下でソートする。
var a = [30, 21, 17, 3, 47]; a.sort(function(a, b){ return a - b; }); // a → [3, 17, 21, 30, 47]
配列から要素を削除し、新しい要素に置き換えることができる。
引数のstartからdeleteCountまでを削除する。
もしも、3番目以降の引数が指定されていたら、削除された部分に置き換える。
var a = ["a", "b", "c", "d"]; var b = a.splice(1, 2); // a → ["a", "d"] // b → ["b", "c"] var c = ["a", "b", "c", "d"]; var d = c.splice(1, 2, "びー", "しー"); // c → ["a", "びー", "しー", "d"] // d → ["b", "c"]
配列の先頭に要素を追加する。
var a = ["a", "b", "c"]; var b = a.unshift("A", "B"); // a → ["A", "B", "a", "b", "c"] // b → 5