配列を制するもの、システムを制する!。を信じてコーディングを続けている、ユゲタです。
プログラミングを勉強する人の最初の挫折ポイントでもある配列ですが、配列になれると、プログラミングって楽しくて楽しくて仕方がなくなります。
そんな配列操作で、毎回ややこしく感じる次の操作。
shift , unshift , push , pop
これを
spliceだけで対応できる事に気がついて、もはや無駄に覚える必要がないと考えて、その対応方法をまとめておきました。
追加、削除の基本操作「shift,unshift,push,pop」
配列の先頭を削除「shift」
var arr = ["a","b","c","d"];
arr.shift();
> ["b","c","d"]
配列の末尾を削除「pop」
var arr = ["a","b","c","d"];
arr.pop();
> ["a", "b", "c"]
配列の先頭に追加「unshift」
var arr = ["a","b","c","d"];
arr.unshift("x");
> ["x", "a", "b", "c", "d"]
配列の末尾に追加「push」
var arr = ["a","b","c","d"];
arr.push("x");
> ["a", "b", "c", "d", "x"]
spliceで対応
配列の先頭を削除「shift→splice」
var arr = ["a","b","c","d"];
arr.splice(0 , 1);
> ["b","c","d"]
配列の末尾を削除「pop→splice」
var arr = ["a","b","c","d"];
arr.splice(arr.length-1 , 1);
> ["a", "b", "c"]
配列の先頭に追加「unshift→splice」
var arr = ["a","b","c","d"];
arr.splice(0 , 0, "x");
> ["x", "a", "b", "c", "d"]
配列の末尾に追加「push→splice」
var arr = ["a","b","c","d"];
arr.splice(arr.length , 0, "x");
> ["a", "b", "c", "d", "x"]
あとがき
配列データの先頭、末尾の追加削除が全てspliceで行えることが分かりましたが、spliceには、配列の中間のデータを削除したり追加したりする操作も行えるので、もはやこれだけ使えば問題ナシでしょう。
確かに簡易な関数を使いたくなる気持ちもよく分かりますが、spliceみたいな便利関数を使わないというデメリットも把握しておきましょう。
いや〜、プログラムは効率ですな!!!
0 件のコメント:
コメントを投稿