← Назад к вопросам

Как получить значения объекта в JavaScript?

2.0 Middle🔥 141 комментариев
#JavaScript Core

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI3 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Основные методы получения значений объекта

В JavaScript существует несколько способов получить значения из объекта:

1. Object.values()

Это самый прямой и удобный способ. Метод возвращает массив значений объекта:

const user = { name: "Иван", age: 25, city: "Москва" };
const values = Object.values(user);
console.log(values); // ["Иван", 25, "Москва"]

2. Object.entries()

Если нужны пары ключ-значение, используй Object.entries():

const user = { name: "Иван", age: 25 };
const entries = Object.entries(user);
console.log(entries);
// [["name", "Иван"], ["age", 25]]

// Можешь деструктурировать в цикле
for (const [key, value] of entries) {
  console.log(`${key}: ${value}`);
}

3. for...in цикл

Для итерации по свойствам объекта:

const user = { name: "Иван", age: 25 };
for (const key in user) {
  console.log(user[key]);
}

Внимание: этот цикл перебирает и унаследованные свойства, поэтому используй проверку hasOwnProperty():

for (const key in user) {
  if (user.hasOwnProperty(key)) {
    console.log(user[key]);
  }
}

4. Object.getOwnPropertyNames()

Возвращает массив имён всех свойств объекта (включая non-enumerable):

const user = { name: "Иван", age: 25 };
const propertyNames = Object.getOwnPropertyNames(user);
console.log(propertyNames); // ["name", "age"]

Сравнение методов

  • Object.values() — самый удобный для получения всех значений
  • Object.entries() — когда нужны ключи и значения
  • for...in — для старого кода, требует hasOwnProperty()
  • Object.getOwnPropertyNames() — включает non-enumerable свойства

Практический пример

const config = { 
  apiUrl: "https://api.example.com",
  timeout: 5000,
  retries: 3
};

// Получить все значения и найти число
const values = Object.values(config);
const numbers = values.filter(v => typeof v === "number");
console.log(numbers); // [5000, 3]

// Или использовать Object.entries() для преобразования
const params = Object.entries(config)
  .map(([key, value]) => `${key}=${value}`)
  .join("&");
console.log(params); // "apiUrl=https://api.example.com&timeout=5000&retries=3"

Выбирай метод в зависимости от задачи: для простого получения значений используй Object.values(), для работы с ключами и значениями — Object.entries().

Как получить значения объекта в JavaScript? | PrepBro