.flat()は関数ではありません、何が悪いのでしょうか?
2023-09-05 22:59:08
質問
次のコード
function steamrollArray(arr) {
// I'm a steamroller, baby
return arr.flat();
}
steamrollArray([1, [2], [3, [[4]]]]);
リターン
arr.flat
は関数ではありません
で試してみました。 ファイアフォックス と クローム v67 を実行しても、同じ結果になりました。
何が問題なのでしょうか?
どのように解決するのですか?
この
flat
メソッドは
はまだ実装されていません。
は、一般的なブラウザ(Chrome v69、Firefox Nightly、Opera 56のみ)では実装されていません。これは実験的な機能です。したがって、あなたはそれを使用することはできません
まだ
.
あなたは、自分自身の
flat
関数の代わりに
Object.defineProperty(Array.prototype, 'flat', {
value: function(depth = 1) {
return this.reduce(function (flat, toFlatten) {
return flat.concat((Array.isArray(toFlatten) && (depth>1)) ? toFlatten.flat(depth-1) : toFlatten);
}, []);
}
});
console.log(
[1, [2], [3, [[4]]]].flat(2)
);
このコードは
ここで
によって
ノア・フレイタス
は元々、配列を平坦化するために実装されたもので
depth
を指定せずに配列を平坦化するために実装されたものです。
関連
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] JavaScriptでメールアドレスを検証するのに最適な方法は何ですか?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] HTML5のlocalStorageにオブジェクトを格納する方法は?
-
[解決済み] JavaScriptでNULL、未定義、空白の変数をチェックする標準的な関数はありますか?
-
[解決済み] (a== 1 && a ==2 && a==3) が真に評価されることはあるのでしょうか?
-
[解決済み] forEachループでasync/awaitを使用する
-
[解決済み] コールバック内で正しい `this` にアクセスする方法
-
[解決済み】JavaScript版sleep()とは?)
-
[解決済み] 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で次の要素/前の要素を取得しますか?
-
[解決済み] 配列からオブジェクトを生成する
-
[解決済み] 上級者向けJavaScript。この関数はなぜ括弧でくくられるのですか?重複
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] javascriptで2つの数値を連結する方法は?
-
[解決済み] 文字列がすべて同じ部分文字列で構成されているかどうかを調べるにはどうすればよいですか?
-
[解決済み] 文字列がhtmlであるかどうかをチェックする
-
[解決済み] jQueryで入力ファイルが空かどうかをチェックする方法
-
[解決済み] なぜjavascriptのES6 Promisesはresolve後も実行を継続するのですか?