JavaScript配列のindexOfメソッド
文字列型の使用法
よく知られている文字列の使用法を確認してください。例:
let str = 'orange'; str.indexOf('o'); //0 str.indexOf('n'); //3 str.indexOf('c'); //-1
ここで、0 と 3 は、それぞれ文字列内で o と n が現れる位置です。開始インデックスは 0 です。 -1 は一致しないことを意味します。
かつて誰かが、なぜ -1 が null または未定義ではないのかと尋ねました。ルールを作った人に聞いてください。彼は無力そうに見えました。
ここには何も興味深いものはありませんが、心配しないでください。ここに別の例があります
let numStr = '2016'; numStr.indexOf('2'); //0 numStr.indexOf(2); //0
ここで小さなポイントがあります。indexOf は単純な型変換を行い、数値を文字列 '2' に変換して実行します。
Number 型の使用
暗黙的な変換を行うため、Number 型に IndexOf メソッドがあるかどうか疑問に思うかもしれません。上の例では、存在しないことをはっきりとお伝えしておきます
let num = 2016; num.indexOf(2); //Uncaught TypeError: num.indexOf is not a function
IndexOf メソッドを使用する必要がありますか?数値型の場合は? 次に、それを String に変換し、上記の例に従って
//二逼青年的写法 num = '2016'; num.indexOf(2); //0 //普通青年的写法 num.toString().indexOf(2); //0 //文艺青年的写法 ('' + num).indexOf(2); //0
を記述します。最初の記述方法は単純かつ直接的であり、既知の短い数値の場合は不可能ではありません。しかし、異なるデータに対して num 変数が変更された場合はどうすればよいでしょうか?
2 番目の書き方が最も一般的に使用されますが、3 番目の書き方よりも少し長くなります。あはは、実際のところ、どれも問題ありません。コードに夢中になっている人は、3 番目の
配列型
を使用することを好みます。皆さん、元気を出してください。ビッグボスがやって来ます。
配列メソッドについては誰もがよく知っていますが、配列にはindexOfメソッドがあることを無視しています(私の個人的な感覚です)。
これは練習なしでただの話です。どのような問題が発生しましたか?何に注意する必要がありますか?
rreeeここでは、4 つの使用例で問題を説明するのに十分です。
arr.indexOf('orange') は、'orange' が配列の 0 番目の要素であり、インデックスが一致して返されるため、0 を出力します。
arr.indexOf('o') は -1 を出力します。これは、このメソッドが要素ごとに IndexOf の照合を再度実行しないためです。
arr.indexOf('2016') は、すべての一致のインデックスを返すのではなく、一致の先頭から一致に到達するまでの最初の配列要素の次のリストを返すため、1 を出力します。
arr.indexOf(2016) 出力 -1 注: ここでは暗黙的な型変換は行われません。
穴が発見されたので、その底に到達するのも良いかもしれません。 MDN 公式 Web サイトにアクセスして確認してください。このトピックに興味のある友人は、Array.prototype.indexOf() に直接ジャンプできます
もっと知りたい人のために、ここに公式の説明があります。
indexOf() は、厳密な等価性 (=== またはトリプル等価演算子で使用されるのと同じ方法) を使用して、searchElement を配列の要素と比較します。
厳密な等価性 (===) が使用されていることが一目でわかります。ここ。同様の判断をされる場合には、より一層ご注意ください。数値は文字列に変換され、文字列は数値に変換されないと誤解しないでください。
まとめ
小さな知識ポイントの蓄積は、詳細な議論の対象ではないため、ここでは、indexOf() の 2 番目のパラメーターの役割については説明していないと思います。ここで String.prototype .indexOf() を見て、上の配列へのリンクと組み合わされた 2 番目のパラメーターを見てください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

JavaScriptを学ぶことは難しくありませんが、挑戦的です。 1)変数、データ型、関数などの基本概念を理解します。2)非同期プログラミングをマスターし、イベントループを通じて実装します。 3)DOM操作を使用し、非同期リクエストを処理することを約束します。 4)一般的な間違いを避け、デバッグテクニックを使用します。 5)パフォーマンスを最適化し、ベストプラクティスに従ってください。

この記事の視差スクロールと要素のアニメーション効果の実現に関する議論では、Shiseidoの公式ウェブサイト(https://www.shisido.co.co.jp/sb/wonderland/)と同様の達成方法について説明します。

同じIDを持つ配列要素をJavaScriptの1つのオブジェクトにマージする方法は?データを処理するとき、私たちはしばしば同じIDを持つ必要性に遭遇します...

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

Console.log出力の違いの根本原因に関する詳細な議論。この記事では、Console.log関数の出力結果の違いをコードの一部で分析し、その背後にある理由を説明します。 �...
