-
JavaScriptで配列の共通要素(交差)を求める最も簡単な方法|filter()とincludes()の使い方
まず、次のような2つの配列があるとします。var firstNamesArray=[John,David,Bob,Sam,Carol]; var secondNamesArray=[Mike,Carol,Adam,David];filter() と includes() を組み合わせるのが最もシンプル配列の交差(両方の配列に存在する共通要素)を求める最も簡単な方法は、filter() メソッドと includes() メソッドを組み合わせて使うことです。filter() で一方の配列を走査し、その各要素がもう一方の配列に含まれているかどうかを includes() で判定します。コード例var
-
JavaScriptでclass属性を持つボタンをクリックしたときにアラートを表示する方法
JavaScriptで特定のクラス名が付いたボタンをクリックしたときにアラートを表示するには、document.getElementsByClassName()メソッドを使用します。このメソッドは、指定したクラス名を持つすべての要素をまとめて取得できるため、for...ofループで各要素を取り出し、それぞれにクリックイベントリスナーを登録するのがポイントです。サンプルコード<!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8> <meta name=viewport conten
-
JavaScriptで今日の日付から日付を引く方法をわかりやすく解説
JavaScriptで今日の日付から別の日付を引いて差を求めるには、new Date().getDate() を使って現在の「日」を取得し、そこから引きたい日付の「日」を減算します。基本の構文は以下のとおりです。 var anyVariableName = yourCurrentDate - yourSubstractDateOfCurrentMonth; サンプルコード var currentDate = new Date().getDate(); var substractDate = new Date(2020-07-01).getDate(); const numberOfDaysIn
-
JavaScriptで大文字・小文字を区別せずに値をチェックする方法
JavaScriptで大文字・小文字を区別せずに値をチェックするには?JavaScriptで大文字と小文字を区別せずに値をチェックしたい場合には、正規表現(RegExp)を使うのが効果的です。RegExpオブジェクトの第2引数にフラグ「i」(ignore case)を指定することで、大文字・小文字の違いを無視した検索が可能になります。コード例以下のコードでは、配列内の複数の名前をパイプ(|)で連結して正規表現を生成し、大文字・小文字を区別せずに「JOHN」という値が存在するかどうかを判定しています。var allNames = [john,John,JOHN]; var makeRegular
-
【JavaScript】コピーしたオブジェクトを更新すると元のオブジェクトも変わる?Object.assign()の挙動を解説
結論:元の(親の)オブジェクトは更新されません 結論からお伝えすると、Object.assign()で作成したコピー先のオブジェクトを更新しても、元のオブジェクトは更新されません。 これは、Object.assign()が第1引数に指定した空のオブジェクト{}に対して、各オブジェクトのプロパティをコピーし、まったく別の新しいオブジェクトを生成するためです。 コード例 var firstObject = { name: 'John' }; var secondObject = { name: 'Carol' }; console.log("マージ前=&
-
JavaScriptの正規表現(RegExp)で角括弧内の複数の値を括弧なしで取得する方法
JavaScriptの正規表現で角括弧内の値を取得する方法 JavaScriptの正規表現(RegExp)を使えば、文字列中の角括弧「[ ]」で囲まれた値を、括弧を除いた状態でそのまま取り出すことができます。マッチ結果は配列として返されるため、インデックス0、1…Nを指定して各値にアクセスするのがポイントです。 ここでは、後読みアサーション(lookbehind)(?<=\[)と先読みアサーション(lookahead)(?=\])を組み合わせたパターンを使用します。これにより、「開き括弧の直後から閉じ括弧の直前まで」の部分だけがマッチ対象になります。 コード例 var regularEx
-
JavaScriptオブジェクトの内容を文字列として表示する方法
JavaScriptでオブジェクトの内容を文字列形式で画面に表示したい場合、document.getElementById()でHTML要素を取得し、innerHTMLを使って書き出すのが基本的な方法です。オブジェクトを文字列に変換するには、JSON.stringify()メソッドを活用します。 実装手順 まず、表示先となるHTML要素にIDを設定します。次に、JavaScript側でそのIDを指定して要素を取得し、変換した文字列をinnerHTMLに代入します。 コード例 <!DOCTYPE html> <html lang="ja"> <h
-
JavaScriptでスペース区切りの文字列を分割し、余分なカンマとスペースをトリミングする方法
JavaScriptでは、正規表現を split() と join() と組み合わせて使うことで、文字列に含まれる余分なカンマやスペースを簡単に取り除くことができます。例として、次のように余分なカンマとスペースが混在した文字列があるとします。var sentence = My,,,,,,, Name,,,, is John ,,, Smith;実装方法正規表現 /[\s]+/ を使って文字列を分割し、その結果を join() で再結合することで、余分なカンマとスペースを一括で削除できます。以下が実際のコードです。コード例var sentence = My,,,,,,, Name,,,, is
-
JavaScriptで動的に生成される要素にイベントをアタッチする方法
JavaScriptで後から動的に追加される要素にイベントを紐付けるには、document.addEventListener()を使った「イベントデリゲーション」の手法が便利です。documentオブジェクトに対してリスナーを登録しておけば、ページ読み込み後に生成された要素であっても、クリックなどのイベントを正しく捕捉できます。基本的な考え方通常、addEventListener()は要素そのものに対して登録しますが、動的に追加された要素は登録時点でまだ存在しないため、直接イベントを設定できません。そこで、イベントがバブリング(親要素への伝播)する仕組みを利用し、documentレベルでイベン
-
JavaScriptのnewキーワードとは?オブジェクトの作成方法と値へのアクセス方法を解説
JavaScriptのnewキーワードとはJavaScriptでは、newキーワードを使うことで新しいオブジェクト(インスタンス)を作成できます。関数の前にnewを付けると、その関数はコンストラクタ関数として動作し、新しく生成されたオブジェクトに対してthisが束縛されます。また、作成したオブジェクトのプロパティや値にアクセスするには、ドット記法(.)を使用します。サンプルコードfunction newObjectCreation() { this.firstName = John;}var newObject = new newObjectCreation();newObject.fi
-
JavaScriptで画面解像度を検出する方法を解説!window.screenの使い方
はじめにWebアプリケーションを開発する際、ユーザーの画面解像度(スクリーンサイズ)を検出したいケースは多くあります。例えば、レスポンシブデザインの調整や、表示領域に応じたコンテンツの出し分けなどが挙げられます。JavaScriptでは、window.screenオブジェクトを使うことで、簡単に画面の解像度情報を取得できます。この記事では、その具体的な方法をサンプルコードとともにわかりやすく解説します。window.screenオブジェクトとはwindow.screenは、ユーザーが使用しているディスプレイ(画面)に関する情報を保持しているオブジェクトです。このオブジェクトのプロパティを参照す
-
変数を使ってJavaScriptのクラスオブジェクトを呼び出す方法
JavaScriptでは、変数に格納した値をeval()関数を使って呼び出すことで、クラスオブジェクトを動的に扱うことができます。この記事では、その具体的な手順をサンプルコード付きで解説します。 クラスと変数の準備 まず、次のような変数が定義されているとします。 var message = This is the Class Demo; 続いて、この変数を使ってオブジェクトを作成します。 var object = new FirstClass(message) ここで使用しているFirstClassは以下のように定義されたクラスです。コンストラクタで受け取ったメッセージをインスタンスのプロパ
-
JavaScriptでJSONデータをキーごとにグループ化する方法を解説
JSONデータを特定のキー(この例では「name」)ごとにグループ化するには、元のオブジェクトからすべてのキーを取り出し、同じ値を持つ要素を新しいオブジェクト内の配列に push() メソッドで追加していくのが基本の考え方です。以下に具体的な手順とサンプルコードを紹介します。 サンプルコード var details = { "1": { name: "John" }, "2": { name: "John" }, "3":
-
JavaScriptでHTMLテーブルの行数を取得する方法
JavaScriptでHTMLテーブルの行数を取得したい場面はよくあります。例えば、テーブルに表示されているデータの件数を確認したり、動的に行を追加・削除した後の状態を把握したりするケースです。サンプルとなるHTMLテーブルまず、以下のようなHTMLテーブルを用意します。<table id=tblDemo border=1> <thead> <tr> <th>名前</th> <th>年齢</th> </tr> </thead> <tbody> <tr><td
-
JavaScriptで<strong>タグにテキストを設定する方法
Webページ上のテキストを動的に書き換えたい場面は多くあります。この記事では、jQueryを使用して<strong>タグ内のテキストをJavaScriptで変更する方法を、手順とコード例とともにわかりやすく解説します。手順1:<strong>要素を用意するまず、HTML内にテキストを差し替えたい<strong>要素を配置します。後からJavaScript側でこの要素を指定できるよう、id属性を付けておくのがポイントです。<strong id="strongDemo">Replace This strong tag</st
-
JavaScriptで文字列型の値を配列型に変換する方法を解説
JavaScriptで文字列型の値を配列型に変換するには、JSON.parse()メソッドを使用します。このメソッドは、JSON形式の文字列を解析し、JavaScriptのオブジェクトや配列に変換してくれます。以下に、具体的なコード例を示します。コード例var customerDetails=[ {name: John, countryName: US}, {name: David, countryName: AUS}, {name: Bob, countryName: UK} ]; console.log(The actual value=+customerDetai
-
JavaScriptでファイル名の拡張子(ドット)の前に任意の単語を挿入する方法
JavaScriptでは、ファイル名をドット(.)で分割し、テンプレートリテラルを活用することで、拡張子の前に任意の単語を簡単に挿入できます。例として、以下のようなファイル名があるとします。var actualJavaScriptFileName = demo.js;そして、拡張子の前に挿入したい単語は以下の通りです。var addValueBetweenFileNameAndExtensions = programming;処理の手順まず、split()メソッドを使ってファイル名をドット(.)を基準に分割します。分割すると、ファイル名本体と拡張子に分かれるので、その間に挿入したい単語を挟み込
-
JavaScriptでオブジェクトを配列に追加し、コンソールに表示する方法【ES5】
JavaScriptでは、push()メソッドを使うことで、既存のオブジェクトを新しい配列に簡単に追加できます。ここでは、顧客情報のオブジェクトを配列に格納し、コンソールに表示する手順を解説します。 オブジェクトの準備 まず、以下のようなオブジェクトを用意します。 var customerDetails = { customerFirstName: David, customerLastName: Miller, customerAge: 21, customerCountryName: US }; このオブジェクトには、名前・年齢・国といった顧客情報がキーと値のペアで
-
【JavaScript】reduce()で配列内の連続した数字をチェックする方法
連続する数字の判定にはreduce()を活用100、101、102のように連続した数字が配列内に存在するかどうかを確認したい場合は、reduce()メソッドを活用するのが効果的です。この手法では、数字がすべて連続していればtrueが返され、一箇所でも連続が途切れていればfalseが返されます。reduce()は配列の各要素を順番に畳み込みながら処理できるため、「前の要素の値+1」と「現在の要素の値」を比較し続けることで、配列全体が連続した数列になっているかを一度のループで判定できます。コード例const sequceIsConsecutive = (obj) =>Boolean(obj.
-
JavaScriptでJSON文字列を整形する方法|JSON.stringifyの使い方を解説
JavaScriptでJSON文字列を読みやすい形式にフォーマット(整形)したい場合は、JSON.stringify()メソッドの引数を活用しましょう。第2引数と第3引数を指定することで、インデント付きの「見やすいJSON」を出力できます。JSON.stringifyの基本構文JSON.stringify(value, replacer, space)value: 変換対象のオブジェクトreplacer: 出力をフィルタリング・変換する関数または配列(通常はnull)space: インデントに使うスペースの数(または文字列)サンプルコードvar details = { studentI