在JavaScript中解锁数组和对象迭代的功能:具有易于遵循示例的初学者指南
#javascript #arrayiteration #javascriptiteration #javascriptexamples

介绍:

在JavaScript中,数组和对象是用于存储和组织数据的基本数据结构。在使用这些数据结构时,通常会迭代其元素以执行各种操作。在这篇文章中,我们将探讨如何在JavaScript中循环浏览一系列对象和对象。我们将介绍不同的循环结构,并提供多个示例以证明其用法。让我们潜入!

1。在一系列对象上循环:

示例1:使用for loop

   const students = [
     { name: 'Alice', age: 20 },
     { name: 'Bob', age: 22 },
     { name: 'Charlie', age: 21 }
   ];

   for (let i = 0; i < students.length; i++) {
     console.log(students[i].name);
   }

输出:

   Alice
   Bob
   Charlie

**示例2:利用foreach方法**

   students.forEach((student) => {
     console.log(student.name);
   });

输出:

   Alice
   Bob
   Charlie

示例3:使用循环的for ...

   for (const student of students) {
     console.log(student.name);
   }

输出:

   Alice
   Bob
   Charlie

示例4:使用MAP方法进行转换

   const studentNames = students.map((student) => student.name);
   console.log(studentNames);

输出:

   ['Alice', 'Bob', 'Charlie']

2.访问循环中的对象属性

示例1:循环在对象键上for ... in循环

   const student = { name: 'Alice', age: 20 };

   for (const key in student) {
     console.log(key, student[key]);
   }

输出:

   name Alice
   age 20

示例2:使用object.entries迭代键值对

   Object.entries(student).forEach(([key, value]) => {
     console.log(key, value);
   });

输出:

   name Alice
   age 20

**示例3:利用object.values循环属性值**

   Object.values(student).forEach((value) => {
     console.log(value);
   });

输出:

   Alice
   20

示例4:组合对象。

   Object.keys(student).forEach((key) => {
     if (key === 'name') {
       student[key] = student[key].toUpperCase();
     }
   });

   console.log(student);

输出:

   { name: 'ALICE', age: 20 }

3.嵌套数组和对象的嵌套环:

示例1:在带有嵌套数组的一系列对象上循环

   const data = [
     { name: 'Alice', courses: ['Math', 'Science'] },
     { name: 'Bob', courses: ['History', 'English'] }
   ];

   for (const item of data) {
     console.log(item.name);

     for (const course of item.courses) {
       console.log('- ', course);
     }


 }

输出:

   Alice
   -  Math
   -  Science
   Bob
   -  History
   -  English

示例2:通过数组中的嵌套对象迭代

   const data = [
     { name: 'Alice', info: { age: 20, city: 'New York' } },
     { name: 'Bob', info: { age: 22, city: 'Los Angeles' } }
   ];

   for (const item of data) {
     console.log(item.name);
     console.log('Age:', item.info.age);
     console.log('City:', item.info.city);
   }

输出:

   Alice
   Age: 20
   City: New York
   Bob
   Age: 22
   City: Los Angeles

示例3:多维阵列的嵌套循环

   const matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

   for (const row of matrix) {
     for (const num of row) {
       console.log(num);
     }
   }

输出:

   1
   2
   3
   4
   5
   6
   7
   8
   9

4。物体和数组循环期间的常见操作:

示例1:基于条件
过滤对象数组

   const students = [
     { name: 'Alice', age: 20 },
     { name: 'Bob', age: 22 },
     { name: 'Charlie', age: 21 }
   ];

   const adults = students.filter((student) => student.age >= 21);
   console.log(adults);

输出:

   [
     { name: 'Bob', age: 22 },
     { name: 'Charlie', age: 21 }
   ]

示例2:使用循环修改对象属性

   for (const student of students) {
     student.age += 1;
   }

   console.log(students);

输出:

   [
     { name: 'Alice', age: 21 },
     { name: 'Bob', age: 23 },
     { name: 'Charlie', age: 22 }
   ]

示例3:从一个对象数组中计算汇总值

   const totalAge = students.reduce((sum, student) => sum + student.age, 0);
   console.log(totalAge);

输出:

   66

示例4:在数组中搜索特定对象或属性

   const foundStudent = students.find((student) => student.name === 'Bob');
   console.log(foundStudent);

输出:

   { name: 'Bob', age: 22 }

结论:

循环浏览对象和对象本身是JavaScript中的一项基本技能。通过掌握本文中提供的各种循环构造和技术,您可以通过数据有效迭代,执行操作并操纵值以满足您的要求。请记住,根据手头的特定任务选择适当的循环构造,并在处理大型数据集时考虑性能优化。借助实践和经验,您将精通JavaScript中的复杂数据结构。

快乐编码!