В JavaScript массив — это особый тип объекта, в котором хранится набор значений. Каждое значение в массиве называется элементом, а элементы упорядочены и доступны по их индексу (числовому положению в массиве).
Вот пример массива:
let numbers = [1, 2, 3, 4, 5]; console.log(numbers[2]); // Output: 3
В этом примере массив «numbers» содержит 5 элементов: 1, 2, 3, 4 и 5. Элементы упорядочены и доступны по их индексу. В приведенном выше примере numbers[2]
возвращает третий элемент массива, который равен 3.
С другой стороны, объект в JavaScript представляет собой набор пар ключ-значение. Каждый ключ представляет собой строку, и каждое значение может быть любого типа. Объекты в JavaScript неупорядочены и доступны по их ключам.
Вот пример объекта:
let person = { name: "John", age: 30, job: "Developer" }; console.log(person.name); // Output: "John"
В этом примере объект «человек» содержит 3 пары «ключ-значение»: «имя» со значением «Джон», «возраст» со значением 30 и «работа» со значением «Разработчик». Ключами являются «имя», «возраст» и «работа», а значения — «Джон», 30 и «Разработчик» соответственно. Вы можете получить доступ к значениям объекта, используя запись через точку object.key
или запись в квадратных скобках object["key"]
. в приведенном выше примере person.name
возвращает значение ключа «имя» в объекте, которым является «Джон».
Объекты и массивы — это два основных типа данных в JavaScript, которые широко используются во многих приложениях. Они универсальны и могут использоваться для хранения и организации данных различными способами.
Манипуляции с массивами и объектами
Вот пример работы с массивом в JavaScript:
let arr = [1, 2, 3, 4, 5]; // add an element to the end of the array arr.push(6); console.log(arr); // [1, 2, 3, 4, 5, 6] // remove an element from the end of the array let last = arr.pop(); console.log(last); // 6 console.log(arr); // [1, 2, 3, 4, 5] // add an element to the beginning of the array arr.unshift(0); console.log(arr); // [0, 1, 2, 3, 4, 5] // remove an element from the beginning of the array let first = arr.shift(); console.log(first); // 0 console.log(arr); // [1, 2, 3, 4, 5]
А вот пример манипулирования объектом в JavaScript:
let obj = { name: 'John', age: 30, city: 'New York' }; // add a new property to the object obj.gender = 'male'; console.log(obj); // { name: 'John', age: 30, city: 'New York', gender: 'male' } // update a property of the object obj.age = 35; console.log(obj); // { name: 'John', age: 35, city: 'New York', gender: 'male' } // remove a property from the object delete obj.gender; console.log(obj); // { name: 'John', age: 35, city: 'New York' }
Зацикливание массивов и объектов
Вот пример перебора массива в JavaScript с использованием цикла for
:
let arr = [1, 2, 3, 4, 5]; for (let i = 0; i < arr.length; i++) { console.log(arr[i]); } // Output: 1, 2, 3, 4, 5
А вот пример перебора массива в JavaScript с использованием метода forEach
:
let arr = [1, 2, 3, 4, 5]; arr.forEach(function(element) { console.log(element); }); // Output: 1, 2, 3, 4, 5
Вот пример перебора объекта в javascript с использованием цикла for in
:
let obj = { name: "John", age: 30, city: "New York" }; for (let key in obj) { console.log(key + ": " + obj[key]); } // Output: name: John, age: 30, city: New York
А вот пример перебора объекта в javascript с использованием Object.keys()
и forEach
:
let obj = { name: "John", age: 30, city: "New York" }; Object.keys(obj).forEach(function(key) { console.log(key + ": " + obj[key]); }); // Output: name: John, age: 30, city: New York
Стоит отметить, что цикл for...in
не рекомендуется для массивов, потому что он перебирает свойства в цепочке прототипов, а не только в самом объекте.
Операции с массивами
Вот несколько примеров распространенных операций с массивами в JavaScript:
1.concat()
: Этот метод используется для объединения двух или более массивов. Он возвращает новый массив, содержащий все элементы из исходных массивов:
let arr1 = [1, 2, 3]; let arr2 = [4, 5, 6]; let newArr = arr1.concat(arr2); console.log(newArr); // [1, 2, 3, 4, 5, 6]
2. slice()
: этот метод используется для извлечения раздела массива и возврата нового массива. Он принимает два аргумента: начальный индекс и конечный индекс:
let arr = [1, 2, 3, 4, 5]; let subArr = arr.slice(1, 3); console.log(subArr); // [2, 3]
3. splice()
: Этот метод используется для добавления или удаления элементов из массива. Он принимает три аргумента: начальный индекс, количество удаляемых элементов и добавляемые элементы:
let arr = [1, 2, 3, 4, 5]; arr.splice(1, 2, 6, 7); console.log(arr); // [1, 6, 7, 4, 5]
4. sort()
: этот метод используется для сортировки элементов массива. Он принимает необязательную функцию сравнения в качестве аргумента:
let arr = [3, 2, 1, 4, 5]; arr.sort(); console.log(arr); // [1, 2, 3, 4, 5]
5. filter()
: этот метод создает новый массив со всеми элементами, прошедшими проверку, реализованную предоставленной функцией.
let arr = [1, 2, 3, 4, 5, 6]; let evenNumbers = arr.filter(num => num % 2 === 0); console.log(evenNumbers); // [2, 4, 6]
6. map()
: этот метод создает новый массив с результатами вызова предоставленной функции для каждого элемента в вызывающем массиве.
let arr = [1, 2, 3, 4, 5]; let doubled = arr.map(num => num * 2); console.log(doubled); // [2, 4, 6, 8, 10]
7. reduce()
: метод reduce() применяет функцию к аккумулятору и каждому элементу массива (слева направо), чтобы уменьшить его до одного значения.
let arr = [1, 2, 3, 4]; let sum = arr.reduce((acc, curr) => acc + curr); console.log(sum); // 10
Это всего лишь несколько примеров, в javascript доступно гораздо больше методов массивов, которые вы можете использовать для выполнения различных операций с массивами.
Операции с объектами
Вот несколько примеров распространенных операций с объектами в JavaScript:
1. Object.assign()
: этот метод используется для копирования значений всех перечисляемых собственных свойств из одного или нескольких исходных объектов в целевой объект. Он возвращает целевой объект.
let obj1 = { name: "John" }; let obj2 = { age: 30 }; let obj3 = Object.assign(obj1, obj2); console.log(obj3); // { name: "John", age: 30 }
2. Object.keys()
: этот метод возвращает массив имен собственных свойств данного объекта.
let obj = { name: "John", age: 30, city: "New York" }; console.log(Object.keys(obj)); // ["name", "age", "city"]
3. Object.values()
: этот метод возвращает массив значений собственных перечисляемых свойств данного объекта.
let obj = { name: "John", age: 30, city: "New York" }; console.log(Object.values(obj)); // ["John", 30, "New York"]
4. Object.entries()
: этот метод возвращает массив собственных перечисляемых пар свойств данного объекта [ключ, значение].
let obj = { name: "John", age: 30, city: "New York" }; console.log(Object.entries(obj)); // [["name", "John"], ["age", 30], ["city", "New York"]]
5. Object.freeze()
: этот метод используется для предотвращения добавления новых свойств к объекту или удаления существующих свойств, а также предотвращения изменения существующих свойств или их перечислимости, конфигурируемости или возможности записи.
let obj = { name: "John", age: 30 }; Object.freeze(obj); obj.name = "Jane"; console.log(obj.name); // "John"
6. Object.seal()
: этот метод используется для предотвращения добавления новых свойств к объекту и предотвращения удаления существующих свойств.
let obj = { name: "John", age: 30 }; Object.seal(obj); delete obj.name; console.log(obj.name); // "John"
7. Object.create()
: Этот метод создает новый объект с указанным объектом-прототипом и свойствами.
let obj = { name: "John" }; let newObj = Object.create(obj); console.log(newObj.name); // "John"
Это всего лишь несколько примеров, в javascript доступно гораздо больше объектных методов, которые вы можете использовать для выполнения различных операций с объектами.