JavaScript の find メソッドで要素が見つからない場合をエレガントに処理する
この記事は、JavaScript で Array.prototype.find メソッドを使用するときにターゲット要素が見つからない場合に発生する可能性がある未定義エラーを解決することを目的としています。 OR 演算子、オプションの連鎖演算子、および null 合体演算子を使用してこの状況を適切に処理する方法を示し、デモ用のサンプル コードを提供します。
JavaScript の Array.prototype.find メソッドを使用する場合、提供されたテスト関数を満たす要素が配列内にない場合、find メソッドは未定義を返します。未定義のプロパティに直接アクセスするとエラーが発生します。これを回避するには、find メソッドにアクセスする前に、その結果が未定義でないことを確認する必要があります。いくつかの処理方法を次に示します。
1. OR 演算子 (||) を使用します。
OR 演算子を使用すると、find メソッドが未定義を返したときに使用されるデフォルト値を指定できます。この例では、空の array[] をデフォルト値として使用します。
const 人 = { グループA : ['エイミー','ベス'], グループB : ['ベン','マット'], グループC : ['ジェン'、'イーライ'] }; let Person = (Object.entries(People).find(([,values])=>values.includes('Ele')) || [])[0]; console.log(人); // 出力: 未定義
find メソッドで「Ele」を含むグループが見つからない場合は、unknown が返されます。 OR 演算子は未定義を [] に置き換えるため、[][0] の結果は未定義となり、エラーが回避されます。
2. オプションの連鎖演算子 (?.) を使用します。
オプションの連鎖演算子を使用すると、null または未定義の可能性があるプロパティにアクセスするときに安全に操作できます。演算子の左側の値が null または unfineed の場合、式はショートサーキットし、エラーをスローせずに unknown を返します。
const 人 = { グループA : ['エイミー','ベス'], グループB : ['ベン','マット'], グループC : ['ジェン'、'イーライ'] }; let Person = Object.entries(People).find(([,values])=>values.includes('Ele'))?.[0]; console.log(人); // 出力: 未定義
find メソッドが unknown を返した場合、unknown?.[0]は、未定義のプロパティにアクセスしようとすることを回避し、未定義を直接返します。
3. NULL 値合体演算子 (??) を使用します。
null 合体演算子 (??) は、null または未定義の値を処理する簡潔な方法を提供します。左側のオペランドが null または未定義の場合は、右側のオペランドが返されます。それ以外の場合は、左のオペランドが返されます。
const 人 = { グループA : ['エイミー','ベス'], グループB : ['ベン','マット'], グループC : ['ジェン'、'イーライ'] }; let Person = (Object.entries(People).find(([,values])=>values.includes('Ele')) ?? [])[0]; console.log(人); // 出力: 未定義
OR 演算子と同様に、find メソッドが未定義を返した場合、null 合体演算子はエラーを避けるために未定義を [] に置き換えます。
要約する
JavaScript で Array.prototype.find メソッドを使用する場合は、要素が見つからない場合に必ず対処してください。 OR 演算子、オプションの連鎖演算子、および null 合体演算子はすべて、この状況に対処する効果的な方法です。どの方法を選択するかは、特定のコーディング スタイルとニーズによって異なります。オプションの連鎖演算子と null 結合演算子を使用することをお勧めします。これらの演算子のほうが簡潔で理解しやすく、最新の JavaScript コーディング規約との整合性が高いためです。
以上がJavaScript の find メソッドで要素が見つからない場合をエレガントに処理するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Stock Market GPT
AIを活用した投資調査により賢明な意思決定を実現

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

この記事では、JavaScriptを使用して画像をクリックする効果を実現する方法を紹介します。コアのアイデアは、HTML5のデータ - *属性を使用して、代替画像パスを保存し、JavaScriptを介してクリックイベントをリッスンし、SRC属性を動的に切り替えて、画像の切り替えを実現することです。この記事では、詳細なコードの例と説明を提供して、この一般的に使用されるインタラクティブ効果を理解し、習得するのに役立ちます。

まず、ブラウザがGeolocationapiをサポートしているかどうかを確認します。サポートされている場合は、getCurrentPosition()を呼び出してユーザーの現在の位置座標を取得し、成功したコールバックを通じて緯度と経度の値を取得します。同時に、拒否許可、場所の利用不能、タイムアウトなどのエラーコールバック処理の例外を提供します。また、高精度を有効にするために構成オプションを渡し、タイムアウト時間とキャッシュの妥当性期間を設定することもできます。プロセス全体には、ユーザー承認と対応するエラー処理が必要です。

JavaScriptに繰り返し間隔を作成するには、SetInterval()関数を使用する必要があります。これは、指定されたミリ秒間隔で関数またはコードブロックを繰り返し実行する必要があります。たとえば、setinterval(()=> {console.log( "2秒ごとに実行");}、2000)は、clearinterval(intervalid)によってクリアされるまで2秒ごとにメッセージを出力します。実際のアプリケーションでは、クロック、投票サーバーなどを更新するために使用できますが、最小遅延制限と機能実行時間の影響に注意を払い、メモリの漏れを避けるために不要になった時間の間隔をクリアします。特にコンポーネントのアンインストールまたはページの閉鎖の前に、それを確認してください

NUXT3の構成APIコア使用量には次のものが含まれます。1。DefinePageMetaは、タイトル、レイアウト、ミドルウェアなどのページメタ情報を定義するために使用されます。 2。Useheadは、ページヘッダータグを管理し、静的およびレスポンシブな更新をサポートし、SEO最適化を実現するためにDefinePageMetaと協力する必要があります。 3. useasyncdataは、非同期データを安全に取得し、負荷とエラーステータスを自動的に処理し、サーバーとクライアントのデータ収集制御をサポートします。 4. usefetchは、useasyncdataと$ fetchのカプセル化であり、リクエストキーを自動的にエンスして、リクエストを重複しないようにします

この記事の目的は、javascriptのdocument.getElementbyid()を介してDOM要素を取得するときにnullを返す問題を解決することを目的としています。コアは、スクリプトの実行タイミングとDOM解析ステータスを理解することです。タグを正しく配置するか、DomContentLoadedイベントを使用することにより、要素が利用可能なときに再び試行され、そのようなエラーを効果的に回避することができます。

このチュートリアルでは、JavaScriptに固定された2つの小数を持つ文字列に数値をフォーマットする方法を詳細に説明します。整数でさえ「#.00」の形で表示できます。 number.prototype.tofixed()メソッドの使用に焦点を当てます。これには、その構文、機能、サンプルコード、およびそのリターンタイプが常に文字列であるなどの重要なポイントが含まれます。

ClipboardapiのWriteTextメソッドを使用してテキストをクリップボードにコピーします。セキュリティコンテキストとユーザーインタラクションで呼び出され、最新のブラウザーをサポートし、古いバージョンをExecCommandで格下げできます。

thebestatatororeAteamulti-linestringinjavascriptsisingsisingSemplatalalswithbackticks、whitherverebreakenexactlyaswritten。
