В JavaScript есть несколько встроенных структур данных, которые позволяют эффективно организовывать данные и управлять ими. Вот некоторые из наиболее часто используемых структур данных:
- Массивы:
Массив — это набор элементов, хранящихся в смежных ячейках памяти. Он может содержать значения любого типа, включая числа, строки, объекты и даже другие массивы. Массивы JavaScript имеют нулевой индекс, то есть доступ к первому элементу осуществляется с индексом 0. Вот пример:
const fruits = ["apple", "banana", "orange"]; console.log(fruits[0]); // Output: "apple" console.log(fruits.length); // Output: 3 fruits.push("grape"); // Add element at the end console.log(fruits); // Output: ["apple", "banana", "orange", "grape"]
2. Объекты:
Объекты представляют собой пары ключ-значение, где ключи представляют собой строки (или символы), а значения могут быть любого типа. Они полезны для представления объектов со свойствами. Вот пример:
const person = { name: "John Doe", age: 30, city: "New York" }; console.log(person.name); // Output: "John Doe" person.age = 31; // Update value console.log(person.age); // Output: 31 person.job = "Developer"; // Add new property console.log(person); // Output: { name: "John Doe", age: 31, city: "New York", job: "Developer" }
3.Наборы:
Наборы — это наборы уникальных значений, что означает, что каждое значение может встречаться в наборе только один раз. Они могут хранить значения любого типа и эффективно предоставлять методы для добавления, удаления и проверки членства. Вот пример:
const set = new Set(); set.add("apple"); set.add("banana"); set.add("apple"); // Ignored, already exists console.log(set.size); // Output: 2 console.log(set.has("banana")); // Output: true set.delete("banana"); console.log(set); // Output: Set { "apple" }
4. Карты:
Карты — это пары ключ-значение, похожие на объекты, но ключи могут иметь любой тип данных. Они предоставляют эффективные методы добавления, удаления и извлечения значений на основе ключей. Карты сохраняют порядок пар ключ-значение, в отличие от объектов. Вот пример:
const map = new Map(); const key1 = "name"; const key2 = { id: 1 }; map.set(key1, "John Doe"); map.set(key2, "Value associated with an object"); console.log(map.get(key1)); // Output: "John Doe" console.log(map.size); // Output: 2 map.delete(key2); console.log(map); // Output: Map { "name" => "John Doe" }
5. Связанные списки:
Связный список — это линейная структура данных, в которой каждый элемент (узел) содержит значение и ссылку на следующий узел. Они полезны, когда требуется частая вставка и удаление элементов. Однако произвольный доступ медленнее по сравнению с массивами. Вот упрощенный пример реализации:
class Node { constructor(value) { this.value = value; this.next = null; } } class LinkedList { constructor() { this.head = null; } add(value) { const newNode = new Node(value); if (!this.head) { this.head = newNode; } else { let current = this.head; while (current.next) { current = current.next; } current.next = newNode; } } } const list = new LinkedList(); list.add("apple"); list.add("banana"); console.log(list.head.value); // Output: "apple" console.log(list.head.next.value); // Output: "banana"
Это всего лишь несколько примеров структур данных, доступных в JavaScript. Каждая структура данных имеет свои преимущества и варианты использования, поэтому важно выбрать подходящую, исходя из ваших конкретных потребностей.
Спасибо, что прочитали эту статью 😇.