JavaScript循环遍历的24个方法,你都知道吗

JavaScript循环遍历的24个方法攻略

在JavaScript编程中,循环遍历是非常常见的操作。以下罗列了24个JavaScript循环遍历的方法:

1. for循环

for循环是最基本、最常见、最易懂的循环遍历方法。每次循环可以使迭代变量前往下一项。

for (var i = 0; i < arr.length; i++) {
  console.log(arr[i]);
}

2. while循环

while循环即先判断条件是否成立,再执行循环体。在while循环中,循环条件在每次循环之前被检查,并且只要条件为真,则循环将一直继续,直到条件为假才停止。

var i = 0;
while (i < arr.length) {
  console.log(arr[i]);
  i++;
}

3. do...while循环

do...while循环与while循环非常相似,不同之处在于条件判断的时间。do while 循环将会在代码块执行前先执行一次循环,然后只要条件为真,就会不断执行循环。

var i = 0;
do {
  console.log(arr[i]);
  i++;
} while (i < arr.length);

4. forEach

forEach()是专门为数组遍历开发的方法,它允许您使用回调函数作为参数对数组中的每个元素进行操作(回调函数的形参item、index和array分别代表数组元素、数组下标和数组本身)

arr.forEach(function(item, index, array) {
  console.log(item);
});

5. map

map()是专门为数组遍历及其它操作开发的方法,它可以让您对数组中的每个元素进行操作,返回新的数组,而不修改原始数组本身。

var newarr = arr.map(function(item, index, array) {
  return item * 2; //每个元素乘以2,返回新数组
});
console.log(newarr);

6. filter

filter()方法允许您按照指定条件过滤数组元素,并只返回符合条件的元素的新数组。

var newarr = arr.filter(function(item, index, array) {
  return item > 2; //返回大于2的元素
});
console.log(newarr);

7. every

every()方法检查数组的每个元素是否符合指定条件。

var isEven = function(x) {
  return x % 2 === 0; //判断是否为偶数
}
var result = arr.every(isEven);
console.log(result);

8. some

some()方法检查数组中是否至少有一个元素符合指定条件。返回真或假。

var result = arr.some(function(item, index, array) {
  return item > 2; //是否存在大于2的元素
});
console.log(result);

9. reduce

reduce()方法在数字和数组中非常有用。它对数组中的每个元素进行操作,并返回一个单一的值。

var sum = arr.reduce(function(prev, curr, index, array) {
  return prev + curr; //将所有元素求和
});
console.log(sum);

10. reduceRight

reduceRight()方法与reduce()方法相似,不同之处在于它是从右到左对数组中的元素进行操作的。

var arr = ['a', 'b', 'c', 'd'];
var concat = arr.reduceRight(function(a, b) {
  return a + b; //将数组按逆序合并为一个字符串
});
console.log(concat);

11. indexOf

indexOf()方法允许您查找数组中指定元素的位置。

var index = arr.indexOf(2);
console.log(index);

12. lastIndexOf

lastIndexOf()方法类似于indexOf(),不同之处在于它从后往前搜索元素。

var arr = [1, 2, 3, 2];
var index = arr.lastIndexOf(2);
console.log(index);

13. find

find()方法将返回数组中通过测试函数的一个元素的值。

var arr = [1, 3, 5, 9];
var result = arr.find(function(item, index, array) {
  return item % 2 === 0; //返回第一个偶数
});
console.log(result);

14. findIndex

findIndex()方法将返回数组中通过测试函数的一个元素的索引值。

var arr = [1, 3, 5, 9];
var result = arr.findIndex(function(item, index, array) {
  return item % 2 === 0; //找到第一个偶数的位置
});
console.log(result);

15. map and filter

通过结合使用map()和filter(),可以更轻松地查询和操作数组。

var arr = [1, 2, 3, 4, 5];
var newarr = arr.filter(function(item, index, array) {
    return item !== 3; //过滤掉值为3的元素
  })
  .map(function(item, index, array) {
    return item * 2; //将所有元素的值乘以2
  });
console.log(newarr);

16. for...in循环

for...in循环允许您遍历对象的所有属性(注意:不是数组),包括原型链中的所有属性。由于此循环是针对每个属性,所以循环次数可能会比预期的多,例如您需要使用if语句来防止对原型链中的属性进行操作。

for (var prop in object) {
  console.log(prop + " = " + object[prop]);
}

17. for...of循环

for...of循环是用于遍历可迭代对象的最新加入ES6标准特性。它可以以一种简单的方式遍历数组和对象。

for (var item of arr) {
  console.log(item);
}

18. Object.keys

Object.keys()是一个静态方法,它返回一个数组,其中包含指定对象的所有可枚举属性的名称。

var obj = {
  name: 'Tom',
  age: 18
};
var keys = Object.keys(obj); //返回键数组 ['name', 'age']
console.log(keys);

19. Object.getOwnPropertyNames

Object.getOwnPropertyNames(obj)返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性,但不包括Symbol值作为名称的属性)组成的数组。

var obj = {
  name: 'Tom',
  age: 18
};
var props = Object.getOwnPropertyNames(obj); //返回属性数组 ['name', 'age']
console.log(props);

20. Object.getOwnPropertySymbols

Object.getOwnPropertySymbols()方法返回一个给定对象自身的所有Symbol属性的数组。

var sym = Symbol();
var obj = {};
obj[sym] = 'hello';
var symbols = Object.getOwnPropertySymbols(obj); //返回Symbol属性数组
console.log(symbols);

21. Reflect.ownKeys

Reflect.ownKeys()方法返回一个由给定对象的所有元素(包括不可枚举属性和Symbol值作为名称的属性)组成的数组。

var sym = Symbol();
var obj = {
  name: 'Tom',
  age: 18
};
obj[sym] = 'hello';
var keys = Reflect.ownKeys(obj); //返回属性数组 ['name', 'age', Symbol()]
console.log(keys);

22. Array.from

Array.from()方法将一个类似数组的对象或迭代器转换为一个新的数组实例。

var obj = {
  0: 'a',
  1: 'b',
  2: 'c',
  length: 3
};
var arr = Array.from(obj); //返回数组 ['a', 'b', 'c']
console.log(arr);

23. Array.isArray

Array.isArray(obj)方法判断对象是否为数组。

var arr = [1, 2, 3];
var result = Array.isArray(arr); //返回真
console.log(result);

24. Array.of

Array.of()方法创建一个由参数中所有元素组成的新数组实例。

var arr = Array.of(1, 2, 3, 4); //返回数组 [1, 2, 3, 4]
console.log(arr);

示例说明

示例1:使用forEach()方法操作数组:

var arr = [1, 2, 3, 4];
arr.forEach(function(item, index, array) {
  console.log(item + '-' + index);
});

结果为:输出1-0, 2-1, 3-2, 4-3。

示例2:使用map()和filter()方法对数组进行操作:

var arr = [1, 2, 3, 4, 5];
var newarr = arr.filter(function(item, index, array) {
    return item !== 3; //过滤掉值为3的元素
  })
  .map(function(item, index, array) {
    return item * 2; //将所有元素的值乘以2
  });
console.log(newarr);

结果为:输出[2, 4, 8, 10]。

以上就是JavaScript循环遍历的24个方法攻略,希望对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript循环遍历的24个方法,你都知道吗 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • 如何利用JavaScript编写更好的条件语句详解

    当我们在编写JavaScript程序时,条件语句是非常常见的操作之一。在使用条件语句时,我们需要注意一些细节,如代码的可读性、运行效率、逻辑的正确性等方面。下面我将详细讲解如何利用JavaScript编写更好的条件语句。 使用清晰的变量名和注释 在编写条件语句时,我们应该使用清晰的变量名来描述条件,避免使用一些简短、难以理解的变量名。同时,在必要的时候使用注…

    JavaScript 2023年5月28日
    00
  • JavaScript中的单引号和双引号报错的解决方法

    JavaScript中的单引号和双引号都可以用于表示字符串,但是如果在使用时不注意规范,就可能会出现报错的情况。下面介绍一下在JavaScript中解决使用单引号和双引号时,可能会出现的报错情况以及解决方法。 1.问题描述 在JavaScript中,使用单引号或双引号需要注意引号的匹配问题。例如: var str = ‘This is a string&qu…

    JavaScript 2023年5月18日
    00
  • 使用JS中的exec()方法构造正则表达式验证

    使用 JavaScript 中的 exec() 方法可以用来测试字符串是否匹配某个模式,并且可以返回匹配的结果,以及匹配的起始位置等信息。 要利用 exec() 方法构造正则表达式来验证字符串是否符合某个规则,需要按照以下步骤: 第一步:定义正则表达式 使用 RegExp 对象来指定想要匹配的模式,例如: const regEx = /\d+/; 上述代码中…

    JavaScript 2023年6月10日
    00
  • 微信小程序 连续旋转动画(this.animation.rotate)详解

    当使用微信小程序的时候,可以通过动画来让页面更加生动有趣,其中连续旋转动画就是一个很不错的选择。本文将详细介绍微信小程序的连续旋转动画,包括实现过程,代码示例和一些常见问题的解答。 前置知识 在学习微信小程序的连续旋转动画前,需要掌握一些必要的前置知识: 微信小程序的基础语法; CSS3中transform属性的基本用法; 小程序中使用wx.createAn…

    JavaScript 2023年6月11日
    00
  • 聊一聊JavaScript的URL对象是什么

    下面是关于JavaScript的URL对象的详细讲解攻略。 什么是URL对象? URL(Uniform Resource Locator,统一资源定位符)是一个指向互联网上资源的指针。在JavaScript中,我们可以通过URL对象来获取和操作URL,URL对象可以让我们轻松地访问、解析和操作URL。 URL 对象的属性和方法 URL对象有许多属性和方法,下…

    JavaScript 2023年5月27日
    00
  • js form 验证函数 当前比较流行的错误提示

    当今大部分网站都需要对用户输入的表单数据进行验证,以确保数据的有效性和安全性。而JavaScript是在客户端进行表单验证的一种流行方式,可以让用户在提交表单之前对输入数据进行验证,从而保证数据的可靠性。 比较流行的错误提示是在表单下方显示错误信息的方式,并且应该以红色字体突出显示。下面是实现一个基本的JavaScript表单验证函数的步骤和代码示例: 步骤…

    JavaScript 2023年6月10日
    00
  • 史上最全JavaScript数组去重的十种方法(推荐)

    下面是对于“史上最全JavaScript数组去重的十种方法(推荐)”这篇文章的详细讲解。 1. 引言 文章介绍了在JavaScript中使用十种方法对数组进行去重的详细解析,旨在让读者学会如何在实际开发中解决数组去重问题。 2. 数组去重方法 2.1 使用Set 使用Set可以很方便地对数组进行去重,因为Set内部的元素是唯一的,所以会自动去除重复元素。 c…

    JavaScript 2023年5月27日
    00
  • js 模块化CommonJS AMD UMD CMD ES6规范详解

    JS 模块化规范详解 JavaScript 的模块化是为了解决多个 JavaScript 文件之间变量、函数命名冲突问题以及提高文件管理便捷性,目前主要有以下几种规范: CommonJS AMD UMD CMD ES6 Modules 接下来详细介绍每种规范的含义、特点及实现方式。 CommonJS CommonJS 规范是 Node.js 平台中所采用的一…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部