JavaScript

 Computer >> コンピューター >  >> プログラミング >> JavaScript
  1. JavaScriptの辞書(Dictionary)データ構造を徹底解説|特徴・使いどころ・基本API

    辞書(Dictionary)とは何かコンピュータサイエンスの世界では、連想配列(associative array)、マップ(map)、シンボルテーブル、辞書(dictionary)と呼ばれる抽象データ型があります。これは「キー(key)」と「値(value)」のペアからなるコレクションであり、各キーはコレクション内に最大1回しか出現しないという特性を持ちます。なお、「辞書」と「マップ」は本質的に同じものを指す用語として使われる点に注意してください。この辞書を実現するデータ構造を設計する課題は「辞書問題」と呼ばれ、コンピュータサイエンスにおける古典的なテーマの一つです。具体的には、データの集合

  2. JavaScriptで辞書(Map)を作成する方法|自作クラスとES6のMap徹底解説

    JavaScriptにおいて、辞書(キーと値のペアを管理するデータ構造)は非常に便利な機能です。本記事では、独自のMyMapクラスを実装する方法と、ES6で標準搭載されたMapクラスを使う方法の両方を解説します。まずは、組み込みのMapクラスを隠してしまわないよう、名前に注意しながらMyMapクラスを作成していきます。このクラスには、追加したすべての値を管理するためのコンテナオブジェクトを持たせます。あわせて、マップの中身をコンソールに出力するdisplayメソッドも定義しておきましょう。MyMapクラスの基本実装class MyMap {    con

  3. JavaScriptで辞書(Dictionary)に要素を追加する方法|自作putメソッドとES6 Mapの使い方

    今回は、辞書(ディクショナリ)にキーと値のペアを追加するための put メソッドを作成していきます。このメソッドを実装すれば、任意のキーに対して値を簡単に登録できるようになります。なお、JavaScriptのオブジェクトは本来、辞書によく似た性質を持っています。そのため、コンテナとなるオブジェクトのプロパティとして、キーに直接値を代入するだけで要素を追加することが可能です。実装例put(key, value) { this.container[key] = value; }このメソッドや以前に作成した他のメソッドは、次のようにして動作を確認できます。動作確認コードconst myMap

  4. JavaScriptで辞書(マップ)から要素を削除する方法を解説

    辞書から要素を削除する基本の考え方辞書(連想配列)から要素を削除するには、まずそのキーが辞書内に存在するかどうかを確認する必要があります。存在確認にはhasKeyメソッドを使用し、その後、delete演算子を使って要素を直接削除します。削除メソッドはブール値(true / false)を返すように設計します。これにより、メソッドを呼び出した側で、指定したキーが実際に辞書内に存在していたのかどうかを把握できるようになります。カスタム辞書クラスでの削除メソッドの実装例delete(key) { if(this.hasKey(key)) { delete this.conta

  5. JavaScriptで辞書内の要素を検索・取得する方法

    はじめにこの記事では、辞書(ディクショナリ)の中から指定されたキーを検索し、対応する値を取得するgetメソッドを実装していきます。実装例get(key) { if(this.hasKey(key)) { return this.container[key]; } return undefined; }JavaScriptのオブジェクトは、本質的に辞書と非常によく似た構造で実装されています。そのため、わざわざ追加のコードを書かなくても、オブジェクトが本来持っているほとんどの機能をそのまま活用できます。さらに、この仕組みはJavaScriptエンジンによって高度に最適化されてい

  6. JavaScriptで双方向連結リストの要素を削除する方法

    双方向連結リストから要素を削除する仕組み連結リストからの要素削除は非常にシンプルです。やるべきことは「削除したいノードへの参照を失わせる」こと、つまり対象ノードをリンクのチェーンから切り離すだけです。ただし、削除する位置によって処理が異なるため、次の3つのケースを考慮する必要があります。先頭(head)の要素を削除する: head = head.next と代入するだけで、先頭ノードへの参照は失われ、headは2番目の要素を指すようになります。このとき、新しいheadのprevをnullに設定し、前方向のリンクも忘れずに切っておきます。末尾(tail)の要素を削除する: 後ろから2番目のノード

  7. JavaScriptで双方向リンクリスト(DoublyLinkedList)クラスを実装する完全ガイド

    双方向リンクリスト(Doubly Linked List)は、各ノードが「次のノード(next)」と「前のノード(prev)」の両方への参照を持つデータ構造です。片方向リンクリストと異なり、リストを前後どちらの方向にもたどれるため、挿入や削除の処理が柔軟に行えます。この記事では、JavaScriptで双方向リンクリストを扱う DoublyLinkedList クラスの完全な実装例を紹介します。このクラスには、ノードの挿入(insert)、削除(remove)、表示(display)の3つの主要メソッドが含まれています。DoublyLinkedList クラスの完全な実装以下が DoublyLi

  8. JavaScriptの循環リンクリストとは?基本概念から実装方法までわかりやすく解説

    循環リンクリスト(Circular Linked List)とは 循環リンクリストは、連結リスト(Linked List)の変形の一つです。通常の連結リストでは最後のノードが「null」を指して終端となりますが、循環リンクリストでは先頭の要素が末尾の要素を指し、末尾の要素が先頭の要素を指すという環状の構造を持っています。 この仕組みにより、リスト内のどのノードからでもすべての要素へアクセスでき、終端に到達しても処理が途切れることなくリスト全体を巡回し続けることが可能になります。 循環リンクリストの種類 単方向循環リンクリスト(Singly Circular Linked List) 各ノード

  9. JavaScriptで学ぶ循環型単一リンクリスト(Circular Singly Linked List)の基本

    循環型単一リンクリストとは? 循環型単一リンクリスト(Circular Singly Linked List)とは、通常の単一リンクリスト(片方向連結リスト)を変形させたデータ構造です。最大の特徴は、最後のノードのnextポインタが最初のノードを指すという点にあります。 一般的な単一リンクリストでは、末尾ノードのnextポインタはnullを指し、そこでリストが終了します。しかし循環型の場合、このnextポインタが先頭ノードへと接続されるため、リスト全体がひとつの輪(リング)のように連なり、終端のない環状構造になります。 通常の単一リンクリストとの違い 終端の扱い: 通常のリストでは末尾ノ

  10. JavaScriptで双方向リンクリストを循環構造にする方法

    双方向リンクリストを循環させる仕組み双方向リンクリスト(Doubly Linked List)を循環構造にするには、各ノードが持つ2つのポインタの接続先を変更します。具体的には、以下のようにポインタを設定します。末尾ノードの next ポインタを、先頭ノードへ向ける先頭ノードの previous ポインタを、末尾ノードへ向けるこれにより、リストは前方向・後ろ方向の両方でループする「双方向循環リンクリスト」として機能し、どちらの方向にもシームレスに巡回できるようになります。挿入と削除の扱い方循環リンクリストにおける要素の挿入や削除は、一般的なリンクリストと基本的な考え方は同じです。ただし、リスト

  11. JavaScriptのSet(セット)データ構造とは?特徴と基本的な使い方を解説

    セット(Set)とは?セット(Set)とは、特定の値を格納できる抽象データ型の一つです。要素には順序の概念がなく、同じ値を重複して持つことができないという大きな特徴があります。これは、数学における「有限集合」の概念をコンピュータ上で実装したものです。配列やリストなど、他のコレクション型との最大の違いは、セットでは特定の要素を取り出すのではなく、「ある値がその集合に含まれているかどうか(メンバーシップの判定)」を確認するのが主な用途であるという点です。JavaScriptにおけるSetオブジェクトJavaScriptでは、ES2015(ES6)以降、標準でSetオブジェクトが提供されています。主

  12. JavaScriptでセット(Set)を使うべきシーンはいつ?基本メソッドとES6での使い方

    JavaScriptにおいてセット(Set)を使うのが適切なのは、どのような場面でしょうか。 まず挙げられるのは、要素の順序が重要ではなく、重複しない一意の値だけを格納したい場合です。また、格納したデータに対して「ある値が含まれているかどうか」を頻繁にチェックしたい場合にも、セットは最適な選択肢となります。セットは存在判定に特化した構造のため、配列のincludes()を使うよりも効率的に処理できることが多いのです。 さらに、数学の集合と同じように、和集合・積集合・差集合といった集合演算を行いたい場面でも、セットは非常に役立ちます。 この記事では、独自にセットを実装する方法と、ES6で標準搭載

  13. 【初心者向け】JavaScriptでセット(Set)を作成する方法を解説

    この記事では、JavaScriptでセット(集合)構造を実装する方法について解説します。ここでは、ES6で標準提供されているSetクラスと混同しないよう、独自のMySetクラスを作成していきます。 MySetクラスでは、セットに追加したすべての値を管理するためのコンテナオブジェクトを用意します。また、セットの中身を確認できるように、内容を出力するdisplayメソッドも実装しましょう。 基本的なMySetクラスの実装例 class MySet { constructor() { this.container = {}; } display() {

  14. JavaScriptでセット(Set)に要素を追加する方法

    addメソッドは、指定した値がすでにセット内に存在するかどうかを確認し、存在しない場合にのみその値をセットへ追加します。これにより、セットが「重複しない要素の集まり」という性質を保つことができます。実装は以下のようになります。 例 add(val) {    if (!this.has(val)) {       this.container[val] = val; return true;    }    return false; } このメソッドの動作は、次のコードで確認できます。 例 const

  15. JavaScriptでセット(Set)から要素を削除する方法

    JavaScriptのセット(Set)から要素を削除するには、deleteメソッドを使用します。このメソッドは、まず指定した値がすでにセット内に存在するかどうかをチェックし、存在する場合のみその値を削除してtrueを返します。値が存在しない場合は、セットに変更を加えずにfalseを返します。 deleteメソッドの実装例 独自のセットクラスにdeleteメソッドを実装すると、次のようになります。 delete(val) {     if (this.has(val)) {        

  16. JavaScriptにおけるリンクリストの表現方法

    JavaScriptにおけるリンクリストの表現リンクリスト(連結リスト)は、データを格納するための基本的なデータ構造のひとつです。配列と異なり、各要素(ノード)が「データ」と「次の要素への参照」を持つことで、順序付きのコレクションを表現します。JavaScriptでは、オブジェクトと参照を組み合わせることで、リンクリストをシンプルに実装できます。上図のイラストが示すとおり、リンクリストの構造を理解するうえで押さえておくべき重要なポイントは以下のとおりです。LinkedListには「first」と呼ばれるリンク要素が含まれる — リストの先頭を指す参照であり、ここからリスト全体をたどることができ

  17. JavaScriptのリンクリスト(連結リスト)の種類をわかりやすく解説

    リンクリスト(連結リスト)とはリンクリスト(連結リスト)は、各要素(ノード)がデータ本体と、次の要素への参照(ポインタ)を持つデータ構造です。配列と異なり、メモリ上に連続して配置する必要がなく、要素の挿入や削除を効率的に行える点が大きな特徴です。JavaScriptではオブジェクトを使って簡単に実装することもできます。リンクリストには、構造や用途に応じていくつかの種類があります。ここでは代表的な3種類をご紹介します。1. 単方向リンクリスト(Simple Linked List)最もシンプルな形式のリンクリストです。各ノードは次のノードへの参照のみを持ち、要素の移動は先頭から末尾への一方向(前

  18. JavaScriptのリストでサポートされている基本操作

    ```html リスト(連結リスト)は、複数の要素を順序付けて格納できる、プログラミングにおける代表的なデータ構造の一つです。各要素は「ノード」と呼ばれ、データ本体と次のノードへの参照を持つことで、柔軟なデータ管理を実現します。 リストの基本操作一覧 JavaScriptでリストを扱う場合、主に以下のような基本操作がサポートされています。 挿入(Insertion) − リストの先頭に新しい要素を追加する操作です。既存の先頭ノードへの参照を付け替えるだけで済むため、効率よく処理できます。 削除(Deletion) − リストの先頭にある要素を削除する操作です。先頭ノードを外し、その次のノード

  19. JavaScriptでリンクリスト(連結リスト)を作成する方法

    連結リスト(リンクリスト)は、各要素が「データ」と「次の要素への参照」を持つデータ構造です。配列と異なり、要素の挿入や削除を効率的に行えるのが大きな特徴です。この記事では、JavaScriptを使ってシンプルな連結リストを実装する方法を、サンプルコードとともにわかりやすく解説します。 LinkedListクラスとNodeクラスの定義 まず、headをnullで初期化するコンストラクタを持つシンプルなクラスを定義することから始めましょう。あわせて、LinkedListクラスのプロトタイプに、連結リストの各ノードを表すNodeクラスも定義します。 例 class LinkedList { &nbs

  20. JavaScriptでリンクリストに要素を挿入する方法をわかりやすく解説

    はじめに リンクリスト(連結リスト)では、指定した位置にデータを挿入するための関数 insert(data, position) を用意する必要があります。本記事では、その実装手順とサンプルコードを初心者にもわかるように解説します。 挿入処理の基本手順 insert(data, position) の内部では、以下のステップを実行します。 新しいノード(Node)を作成します。 リストが空かどうかを確認します。空の場合は、作成したノードをheadに設定して処理を終了します。 空でない場合は、currNode を使って挿入したい位置までリストをたどります。リンクリストの走査は「currNod

Total 5937 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:189/297  20-コンピューター/Page Goto:1 183 184 185 186 187 188 189 190 191 192 193 194 195