IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

JavaScript の配列から特定の条件のやつを抜く

実は JavaScript にはそういうメソッドがない。

なので、いつも長々と書いてたんだけど

どうしてもワンライナーでやりたい!

という訳で

// 例えば、この配列の一番最初にくる 6 以上の数値を抜く
var array = [1, 5, 7, 8];

for (var i = 0, a = array, l = a.length; i < l; i ++) if(a[i] > 6) { for (; i < l; i ++) a[i] = a[i + 1]; a.pop(); }

暗記したから

Firebug とかで使い放題。
ヌいてすっきりしました!

あ!

でも、 Firefox だったら filter できるか。

array = array.filter(function(e) { var c = arguments.callee; if(c.r) return true; c.r = e > 6; return !c.r; });

うーん。 filter って break できないんだろうか?この arguments.callee.r はその制御用でつ><