読者です 読者をやめる 読者になる 読者になる

JSで同じ要素のみの配列を作る話

Q!!taの記事は時たま暇な時に読んでいる.

で,今日読んでいた記事がこれ.

ちょっと思うところがあるので書いておく.

一応「こっちのほうがよくない?」って提案です.

JavaScriptで同じ要素のみで構成される配列を作りたい.

上の記事では,

Array.apply(null, Array(10)).map(function(){ return 'AB' });

著者も「イマイチだなーとは思う。」と言っているが,自分も「これはないなー」と思う.

そのコメント欄も賑わっており,最後に書かれているコードは以下のもの.

Array(10).join(',').split(',').map(function(){ return 'AB'; });

なるほど,なるほど.「これはないなー」

これは,個人的な感性の問題かもしれないがnew Array()使いますか?

自分の中では,JavaScriptArray()使って配列を作るのはナンセンス.[]を使うべきだ.

いろいろ意見があるとは思うが,自分が今まで使った範囲で言えばArray()を使わなければならない場面に遭遇していない.じゃあ短いほうがいいでしょ.

あと,本来目的である処理とはかけ離れたjoinsplitがある.

これはちょっとわかりづらくなってしまうと思う.

でだ,課題の話.Array()を使わずに書いてみせましょう.

「こっちのほうがよくない?」って提案です.

Array()使う方法も面白いです.

普段使われないようなものを活用しているコード,大好きですよ.

var array = []; while(10 - array.push("AB"));

以上.どうだろうか.

joinsplitするよりかはわかりやすいと思うのだが.

ん?変数を勝手に作るなって?

作るってことは使うんだろ,じゃあ変数作ってもいいじゃないか.

それでも文句言うやつは,勝手に無名関数にでも囲んでおけ.

(function(s, l, a){while(l - a.push(s)); return a;})("AB", 10, []);

余計に訳がわからなくなったって?だったら上にコメントでも書いておけばいい.

私からは以上です.


追伸

コメント欄だと柔く書いてるのはなんでだって?

そりゃ,100Contributionとか500Contributionとか怖いじゃないですかぁ....