В этом примере вы научитесь писать программу на JavaScript, которая будет перебирать объект в цикле.
Чтобы понять этот пример, вы должны знать следующие темы программирования JavaScript:
- Объекты JavaScript
- JavaScript для… в цикле
Пример 1: Прохождение объекта с использованием for… in
// program to loop through an object using for… in loop const student = ( name: 'John', age: 20, hobbies: ('reading', 'games', 'coding'), ); // using for… in for (let key in student) ( let value; // get the value value = student(key); console.log(key + " - " + value); )
Вывод
имя - Джон возраст - 20 хобби - («чтение», «игры», «программирование»)
В приведенном выше примере for… in
цикл используется для обхода student
объекта.
Доступ к значению каждого ключа осуществляется с помощью student(key)
.
Примечание : for… in
цикл также будет подсчитывать унаследованные свойства.
Например,
const student = ( name: 'John', age: 20, hobbies: ('reading', 'games', 'coding'), ); const person = ( gender: 'male' ) // inheriting property student.__proto__ = person; for (let key in student) ( let value; // get the value value = student(key); console.log(key + " - " + value); )
Вывод
имя - Джон возраст - 20 увлечения - («чтение», «игры», «программирование») пол - мужской
При желании можно выполнить цикл только через собственное свойство объекта с помощью hasOwnProperty()
метода.
if (student.hasOwnProperty(key)) ( ++count: )
Пример 2: Цикл по объекту с помощью Object.entries и for… of
// program to loop through an object using for… in loop const student = ( name: 'John', age: 20, hobbies: ('reading', 'games', 'coding'), ); // using Object.entries // using for… of loop for (let (key, value) of Object.entries(student)) ( console.log(key + " - " + value); )
Вывод
имя - Джон возраст - 20 хобби - («чтение», «игры», «программирование»)
В приведенной выше программе объект зациклен с использованием Object.entries()
метода и for… of
цикла.
Object.entries()
Метод возвращает массив пар ключ / значение данного объекта. for… of
Цикл используется в цикле через массив.