[解決済み] n回繰り返す」のイディオム?
2022-02-18 19:19:44
質問
JSで3つの乱数の配列を生成する、やや無駄で非実用的な方法を紹介します。
[1, 1, 1].map(Math.random) // Outputs: [0.63244645928, 0.59692098067, 0.73627558014]
ダミー配列の使用(例.
[1, 1, 1]
を呼び出すことができます。
map
は、 -- 十分に大きな
n
-- メモリの無駄遣いであり、現実的ではありません。
人が望むのは、仮説のようなものでしょう。
repeat(3, Math.random) // Outputs: [0.214259553965, 0.002260502324, 0.452618881464]
バニラ・ジャパニーズでできる一番近いことは何だろう?
Underscoreのようなライブラリは知っていますが、ここではライブラリは避けたいと思っています。
の回答を見てみました。 文字列を何度も繰り返す が、一般には適用できない。例)。
Array(3).map(Math.random) // Outputs: [undefined, undefined, undefined]
Array(4).join(Math.random()) // Outputs a concatenation of a repeated number
Array(3).fill(Math.random()) // Fills with the same number
他のいくつかの回答は、組み込みクラスを修正することを提案しています。
どのように解決するのですか?
Underscore.jsには 回 関数は、まさにあなたが望むことをやってくれます。
_.times(3, Math.random)
Underscoreを使いたくない場合は、自分で
times
関数(Underscoreのソースからコピーして少し簡略化したもの)です。
times = function(n, iterator) {
var accum = Array(Math.max(0, n));
for (var i = 0; i < n; i++) accum[i] = iterator.call();
return accum;
};
関連
-
[解決済み】「Uncaught TypeError: Chromeで "Illegal invocation "が発生する。
-
[解決済み】WebSocket接続に失敗しました。WebSocket のハンドシェイク中にエラーが発生しました。予期しない応答コードです。400
-
[解決済み】Uncaught ReferenceError。Firebase は定義されていません。
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] JavaScriptのオブジェクトが空であることをテストするにはどうすればよいですか?
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] JavaScriptでNULL、未定義、空白の変数をチェックする標準的な関数はありますか?
-
[解決済み】JavaScriptの関数にデフォルトのパラメータ値を設定する
-
[解決済み】JavaScriptで文字列を何度も繰り返す
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Javascript:getElementById対getElementsById(両方が別のページで動作する)。
-
[解決済み] Uncaught TypeError: 未定義のプロパティ 'top' を読み込めない
-
[解決済み】SyntaxError: 'import' と 'export' は 'sourceType: module' とだけ表示されるかもしれない - Gulp
-
[解決済み】JavaScriptで相対URLへのリダイレクトを行う
-
[解決済み】Uncaught ReferenceError。Firebase は定義されていません。
-
[解決済み】Babel NodeJS ES6: SyntaxError: 予期しないトークンのエクスポート
-
[解決済み】ETIMEDOUTエラーの対処方法は?
-
[解決済み】Vueが定義されていない
-
[解決済み] Uncaught (in promise) TypeError: フェッチに失敗してCorsエラー
-
[解決済み】JavaScriptで文字列を何度も繰り返す