Введение
Объекты являются основным способом хранения данных в JavaScript, и для работы с ними существуют полезные встроенные методы. В этом уроке мы рассмотрим три основных метода: Object.keys
, Object.values
и Object.entries
. Эти методы позволяют извлекать ключи, значения и пары “ключ-значение” из объектов, что делает работу с объектами более удобной и эффективной.
Метод Object.keys
Описание
Метод Object.keys
возвращает массив ключей (имен свойств) объекта.
Синтаксис
Object.keys(obj);
Пример использования
let person = {
name: "Иван",
age: 30,
isEmployed: true
};
let keys = Object.keys(person);
console.log(keys); // ["name", "age", "isEmployed"]
Применение
Метод Object.keys
полезен для перебора ключей объекта, например, в цикле forEach
:
Object.keys(person).forEach(key => {
console.log(key); // Выведет "name", "age", "isEmployed"
});
Метод Object.values
Описание
Метод Object.values
возвращает массив значений свойств объекта.
Синтаксис
Object.values(obj);
Пример использования
let person = {
name: "Иван",
age: 30,
isEmployed: true
};
let values = Object.values(person);
console.log(values); // ["Иван", 30, true]
Применение
Метод Object.values
полезен для получения всех значений объекта для последующей обработки:
Object.values(person).forEach(value => {
console.log(value); // Выведет "Иван", 30, true
});
Метод Object.entries
Описание
Метод Object.entries
возвращает массив пар [ключ, значение] из объекта.
Синтаксис
Object.entries(obj);
Пример использования
let person = {
name: "Иван",
age: 30,
isEmployed: true
};
let entries = Object.entries(person);
console.log(entries); // [["name", "Иван"], ["age", 30], ["isEmployed", true]]
Применение
Метод Object.entries
полезен для перебора пар “ключ-значение” объекта, например, с использованием цикла forEach
:
Object.entries(person).forEach(([key, value]) => {
console.log(`${key}: ${value}`); // Выведет "name: Иван", "age: 30", "isEmployed: true"
});
Заключение
Методы Object.keys
, Object.values
и Object.entries
предоставляют мощные инструменты для работы с объектами в JavaScript. Они позволяют легко извлекать и обрабатывать ключи, значения и пары “ключ-значение” объектов, делая код более гибким и удобочитаемым.
Контрольные вопросы
Какой метод возвращает массив ключей объекта?
Object.keys
Object.values
Object.entries
Object.getKeys
Какой метод возвращает массив значений свойств объекта?
Object.keys
Object.values
Object.entries
Object.getValues
Какой метод возвращает массив пар [ключ, значение] из объекта?
Object.keys
Object.values
Object.entries
Object.getEntries
Как получить все ключи объекта person
в виде массива?
Object.values(person)
Object.entries(person)
Object.getKeys(person)
Object.keys(person)
Что возвращает метод Object.values
при вызове на объекте?
- Массив ключей объекта.
- Массив значений свойств объекта.
- Массив пар [ключ, значение] из объекта.
- Строку со значениями свойств объекта.
Как перебрать все пары [ключ, значение] объекта person
?
Object.keys(person).forEach()
Object.values(person).forEach()
Object.entries(person).forEach()
Object.getEntries(person).forEach()
Упражнения
Упражнение 1: Получение ключей объекта
Создайте объект student
с несколькими свойствами: name
, age
, grade
. Используйте метод Object.keys
для получения массива ключей объекта и выведите результат в консоль.
let student = {
name: "Алихан",
age: 20,
grade: "A"
};
let keys = Object.keys(student);
console.log(keys); // ["name", "age", "grade"]
Упражнение 2: Перебор ключей объекта
Используйте метод Object.keys
для получения ключей объекта book
и переберите их с помощью цикла forEach
, выводя каждый ключ в консоль.
let book = {
title: "Война и мир",
author: "Лев Толстой",
yearPublished: 1869
};
Object.keys(book).forEach(key => {
console.log(key);
});
// Вывод:
// title
// author
// yearPublished
Упражнение 3: Получение значений свойств объекта
Создайте объект car
с несколькими свойствами: make
, model
, year
. Используйте метод Object.values
для получения массива значений свойств объекта и выведите результат в консоль.
let car = {
make: "Toyota",
model: "Camry",
year: 2020
};
let values = Object.values(car);
console.log(values); // ["Toyota", "Camry", 2020]
Упражнение 4: Перебор значений свойств объекта
Используйте метод Object.values
для получения значений свойств объекта person
и переберите их с помощью цикла forEach
, выводя каждое значение в консоль.
let person = {
name: "Иван",
age: 30,
isEmployed: true
};
Object.values(person).forEach(value => {
console.log(value);
});
// Вывод:
// Иван
// 30
// true
Упражнение 5: Получение пар [ключ, значение] из объекта
Создайте объект city
с несколькими свойствами: name
, population
, country
. Используйте метод Object.entries
для получения массива пар [ключ, значение] из объекта и выведите результат в консоль.
let city = {
name: "Алматы",
population: 1870000,
country: "Казахстан"
};
let entries = Object.entries(city);
console.log(entries); // [["name", "Алматы"], ["population", 1870000], ["country", "Казахстан"]]
Упражнение 6: Перебор пар [ключ, значение] объекта
Используйте метод Object.entries
для получения пар [ключ, значение] из объекта laptop
и переберите их с помощью цикла forEach
, выводя каждую пару в консоль.
let laptop = {
brand: "Apple",
model: "MacBook Pro",
price: 2000
};
Object.entries(laptop).forEach(([key, value]) => {
console.log(`${key}: ${value}`);
});
// Вывод:
// brand: Apple
// model: MacBook Pro
// price: 2000
Упражнение 7: Подсчет количества ключей в объекте
Создайте объект house
с несколькими свойствами. Используйте метод Object.keys
для получения массива ключей объекта и подсчета их количества. Выведите результат в консоль.
let house = {
type: "Квартира",
rooms: 3,
location: "Астана"
};
let keyCount = Object.keys(house).length;
console.log(keyCount); // 3
Упражнение 8: Проверка наличия свойства в объекте
Создайте объект animal
с несколькими свойствами. Используйте метод Object.keys
для проверки наличия свойства age
в объекте. Выведите результат в консоль.
let animal = {
type: "Cat",
name: "Mittens",
age: 5
};
let hasAge = Object.keys(animal).includes("age");
console.log(hasAge); // true
Упражнение 9: Создание нового объекта из пар [ключ, значение]
Создайте объект person
с несколькими свойствами. Используйте метод Object.entries
для получения массива пар [ключ, значение]. Создайте новый объект из этих пар и выведите его в консоль.
let person = {
name: "Иван",
age: 30,
isEmployed: true
};
let entries = Object.entries(person);
let newPerson = {};
entries.forEach(([key, value]) => {
newPerson[key] = value;
});
console.log(newPerson); // { name: 'Иван', age: 30, isEmployed: true }
Упражнение 10: Получение всех значений строкового типа
Создайте объект mixedData
с несколькими свойствами различных типов данных. Используйте метод Object.values
для получения всех значений строкового типа и выведите их в консоль.
let mixedData = {
name: "Айгуль",
age: 25,
city: "Алматы",
isStudent: false,
profession: "Developer"
};
let stringValues = Object.values(mixedData).filter(value => typeof value === "string");
console.log(stringValues); // ["Айгуль", "Алматы", "Developer"]