28个JS常用数组方法总结

28个JS常用数组方法总结

本文将介绍28个JS常用数组方法,包括简单的遍历方法和高级的数组变换方法。这些方法可以用来操作数组,从而更好的解决开发中出现的问题。

1. forEach

forEach用于遍历数组并对数组中的每个元素执行指定操作。操作通过传递一个回调函数实现。回调函数接受三个参数:数组中的当前元素、当前元素的索引和数组本身。

const arr = [1, 2, 3];

arr.forEach(function(element, index, array) {
  console.log(`当前元素:${element},当前索引:${index},数组本身:${array}`);
});

输出结果:

当前元素:1,当前索引:0,数组本身:1,2,3
当前元素:2,当前索引:1,数组本身:1,2,3
当前元素:3,当前索引:2,数组本身:1,2,3

2. map

map方法用于将数组中的每个元素转换为新元素,返回一个新数组。回调函数接受三个参数:数组中的当前元素、当前元素的索引和数组本身。回调函数返回一个新值,该值将在新数组中放置到当前元素的位置。

const arr = [1, 2, 3];

const newArr = arr.map(function(element, index, array) {
  return element * 2;
});

console.log(newArr); // [2, 4, 6]

3. filter

filter用于从数组中选择一组元素,并返回一个新的数组,新数组包含满足筛选条件的元素。回调函数接受三个参数:数组中的当前元素、当前元素的索引和数组本身。如果回调函数返回true,则当前元素将包含在新数组中。

const arr = [1, 2, 3, 4, 5];

const newArr = arr.filter(function(element, index, array) {
  return element % 2 === 0;
});

console.log(newArr); // [2, 4]

4. reduce

reduce方法用于将数组中的所有元素计算为一个单一值。回调函数接受四个参数:accumulator(累加器)、当前元素、当前元素的索引和数组本身。回调函数执行后,返回的结果将成为下一次迭代时的accumulator参数的值。

const arr = [1, 2, 3, 4, 5];

const sum = arr.reduce(function(accumulator, currentVal) {
  return accumulator + currentVal;
});

console.log(sum); // 15

5. some

some方法用于检查数组中是否至少有一个元素满足指定条件。回调函数接受三个参数:数组中的当前元素、当前元素的索引和数组本身。如果回调函数返回true,则some方法将返回true,如果没有元素满足条件,则返回false

const arr = [1, 2, 3, 4];

const hasEvenNumber = arr.some(function(element) {
  return element % 2 === 0;
});

console.log(hasEvenNumber); // true

6. every

every方法用于检查数组中的所有元素是否满足指定条件。回调函数接受三个参数:数组中的当前元素、当前元素的索引和数组本身。如果所有元素都满足条件,则every方法将返回true,否则返回false

const arr = [1, 2, 3, 4];

const allEvenNumbers = arr.every(function(element) {
  return element % 2 === 0;
});

console.log(allEvenNumbers); // false

7. sort

sort方法用于对数组进行排序。如果没有传入比较函数,sort方法将按照Unicode字符顺序对数组进行排序。如果传入了比较函数,则该函数将定义排序顺序。

const arr = [3, 2, 1];

arr.sort(function(a, b) {
  return a - b;
});

console.log(arr); // [1, 2, 3]

8. reverse

reverse方法用于将数组中的所有元素按照相反的顺序排列。

const arr = [1, 2, 3];

arr.reverse();

console.log(arr); // [3, 2, 1]

9. find

find方法用于查找满足指定条件的数组元素,并返回该元素的值。回调函数接受三个参数:数组中的当前元素、当前元素的索引和数组本身。如果回调函数返回true,则find方法将返回该元素,否则返回undefined

const arr = [1, 3, 5, 7];

const result = arr.find(function(element) {
  return element > 3;
});

console.log(result); // 5

10. findIndex

findIndex方法用于查找满足指定条件的数组元素,并返回该元素的索引。回调函数接受三个参数:数组中的当前元素、当前元素的索引和数组本身。如果回调函数返回true,则findIndex方法将返回该元素的索引,否则返回-1

const arr = [1, 3, 5, 7];

const index = arr.findIndex(function(element) {
  return element > 3;
});

console.log(index); // 2

11. includes

includes用于检查数组中是否存在指定的元素。如果存在,则返回true,否则返回falseincludes方法接受两个参数:需要查找的元素和可选的查找起始索引。

const arr = [1, 2, 3];

const hasNumberTwo = arr.includes(2);

console.log(hasNumberTwo); // true

12. indexOf

indexOf用于查找数组中指定元素的位置。如果存在,则返回该元素的索引,否则返回-1indexOf方法接受两个参数:需要查找的元素和可选的查找起始索引。

const arr = [1, 2, 3];

const index = arr.indexOf(2);

console.log(index); // 1

13. lastIndexOf

lastIndexOf用于查找数组中指定元素的最后一个位置。如果存在,则返回该元素的索引,否则返回-1lastIndexOf方法接受两个参数:需要查找的元素和可选的查找起始索引。

const arr = [1, 2, 3, 2];

const index = arr.lastIndexOf(2);

console.log(index); // 3

14. concat

concat方法用于将两个或多个数组连接成一个数组。concat方法不会修改原始数组,而是返回一个新数组。

const arr1 = [1, 2];
const arr2 = [3, 4];
const arr3 = [5, 6];

const newArr = arr1.concat(arr2, arr3);

console.log(newArr); // [1, 2, 3, 4, 5, 6]

15. join

join方法用于将数组中的所有元素连接成一个字符串。可以指定一个分隔符来在元素之间添加分隔符。

const arr = [1, 2, 3];

const str = arr.join(',');

console.log(str); // '1,2,3'

16. slice

slice方法用于从数组中提取指定位置的元素,并返回一个新的数组。slice方法接受两个参数:提取开始位置和可选的提取结束位置。如果未指定提取结束位置,则提取到数组末尾为止。

const arr = [1, 2, 3, 4, 5];

const newArr = arr.slice(1, 4);

console.log(newArr); // [2, 3, 4]

17. splice

splice方法用于添加或删除数组中的元素。splice方法接受三个参数:添加或删除元素的起始位置、需要删除的元素数量和需要添加的新元素。

const arr = [1, 2, 3, 4, 5];

arr.splice(2, 1, 'a', 'b');

console.log(arr); // [1, 2, 'a', 'b', 4, 5]

18. shift

shift方法用于删除数组中的第一个元素,并返回该元素的值。该操作会修改原始数组。

const arr = [1, 2, 3];

const shifted = arr.shift();

console.log(shifted); // 1
console.log(arr); // [2, 3]

19. unshift

unshift方法用于在数组的开头添加一个或多个元素,并返回新数组的长度。该操作会修改原始数组。

const arr = [1, 2, 3];

const length = arr.unshift(0);

console.log(length); // 4
console.log(arr); // [0, 1, 2, 3]

20. push

push方法用于在数组的末尾添加一个或多个元素,并返回新数组的长度。该操作会修改原始数组。

const arr = [1, 2, 3];

const length = arr.push(4, 5);

console.log(length); // 5
console.log(arr); // [1, 2, 3, 4, 5]

21. pop

pop方法用于删除数组末尾的元素,并返回该元素的值。该操作会修改原始数组。

const arr = [1, 2, 3];

const popped = arr.pop();

console.log(popped); // 3
console.log(arr); // [1, 2]

22. toString

toString方法用于将数组转换为字符串,并返回该字符串。

const arr = [1, 2, 3];

const str = arr.toString();

console.log(str); // '1,2,3'

23. flat

flat方法用于将多维数组转换为一维数组。flat方法接受一个可选的层数参数,表示需要扁平化的维度数。

const arr = [1, [2, 3], [[4, 5], [6, 7]]];

const flatArr = arr.flat(2);

console.log(flatArr); // [1, 2, 3, 4, 5, 6, 7]

24. slice()

与它的编程语言名字相同,slice()是JavaScript的一个函数,用于切分数组。可以非常简单地理解,该函数可以切分一个数组,并将其以一个新的数组返回。而且它真的非常简单,也非常灵活。下面就来看一下它的具体用法:

/*例子*/
let array1 = [1, 2, 3 ,4, 5, 6];

console.log(array1.slice(2,4));//  [3,4]

这里我们传入两个参数,分别为2 和 4。 数组中这个时候,index = 2 就是3,index = 4 就是5。函数返回一个从index=2的元素开始,到index=4前一个位置的子数组,即 [3, 4]。

在切分数组时,可以选择不传入第二个参数。这时,数组将会从第一个索引开始,一直分割到数组末尾。可以看下面的例子,以更好的理解:

 let weatherConditions = ['rain', 'snow', 'sleet', 'hail', 'clear']

let todaysWeather = weatherConditions.slice(1,3)

console.log(todaysWeather); //  ['snow', 'sleet']

25. join()

join()是懂JavaScript奇妙函数之一。它加到的不仅仅是数组,普通的字符串也适用。 join() 用于将数组中的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。默认情况下,元素由逗号分隔。如果将空分隔符 ("") 用作分隔符,join() 将在元素之间没有字符添加。

例如,看下面的例子:

const stuff = ['test', '123', 'arrays']

const str = stuff.join(' -- ')

console.log(str)// 
/* 'test -- 123 -- arrays' */

join()接受一个参数separator,是用来分隔数组元素的字符串,在代码中,我们把字符串 '--' 作为元素之间的分割符了。 如果不指定该参数,则默认使用逗号,其规则等同于toString()方法。

结合上面两个方法进行案例:

 let weatherConditions = ['rain', 'snow', 'sleet', 'hail', 'clear']

let todaysWeather = weatherConditions.slice(1,3);
console.log(todaysWeather.join(" and ")); //  'snow and sleet'

在上面的例子中,我们将新切分后的数组元素用‘and’连接起来。结果是:’snow and sleet‘。

总结

以上就是28个JS常用数组方法总结,包括遍历方法和高级数组变换方法。每个数组方法都有自己的作用和适用场景,可以根据实际需要灵活使用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:28个JS常用数组方法总结 - Python技术站

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

相关文章

  • ES6学习笔记之正则表达式和字符串正则方法分析

    ES6学习笔记之正则表达式和字符串正则方法分析 正则表达式概述 正则表达式是处理字符串的强大工具,它是一个特殊的文本字符串,对于需要进行字符串匹配、搜索、替换等操作的场景,使用正则表达式会更加高效、便捷。 正则表达式由普通字符(如数字、字母等)和元字符(如.、*、+等)构成,它们可以组成匹配规则,可以精确地匹配某些字符或者模式。 字符串正则方法 字符串正则方…

    JavaScript 2023年6月10日
    00
  • JS常用的几种数组遍历方式以及性能分析对比实例详解

    JS常用的几种数组遍历方式以及性能分析对比实例详解 在 JavaScript 中,数组遍历是开发者们经常需要用到的功能之一。在本文中,我们将介绍 JS 常用的几种数组遍历方式并进行一些性能分析对比。 常用的几种数组遍历方式 在 JavaScript 中,常用的几种数组遍历方式如下: 1. for 循环 for 循环是最基础的数组遍历方式,通过对数组的下标进行…

    JavaScript 2023年5月27日
    00
  • 浅谈JavaScript 覆盖原型以及更改原型

    浅谈JavaScript 覆盖原型以及更改原型 什么是原型 JavaScript 中,每一个对象都有一个原型对象,原型对象中存储了这个对象的方法和属性。如果对象中没有此属性或方法,则会去原型对象中查找,如果原型对象中仍然找不到,再去原型的原型中查找,形成原型链。最终,如果在原型链中还是找不到,则返回 undefined。 下面是一个示例: function …

    JavaScript 2023年6月10日
    00
  • Javascript验证用户输入URL地址是否为空及格式是否正确

    关于JavaScript验证用户输入URL地址是否为空及格式是否正确的攻略,可以按照以下步骤实现: 步骤一:获取用户输入的URL地址 获取用户输入的URL地址。可以使用document.getElementById()或document.querySelector()等方法获取用户输入的URL地址。 const urlInput = document.get…

    JavaScript 2023年6月10日
    00
  • JavaScript高级程序设计(第3版)学习笔记11 内建js对象

    下面是《JavaScript高级程序设计(第3版)学习笔记11 内建js对象》的学习攻略。 常用内建对象 JavaScript中内建对象众多,本章介绍的是一些常用的内建对象。 Boolean对象 Boolean对象只有两种可能的实例,即true和false,如果将其他数据类型转换为Boolean类型,规则是:除了””、0、NaN、null和undefined…

    JavaScript 2023年5月18日
    00
  • JavaScript 数组的深度复制解析

    JavaScript 数组的深度复制解析 什么是数组的深度复制? 数组的深度复制是指将一个数组中的所有元素和子数组全部复制,并创建一个全新独立的数组,其中元素或子数组任意一项发生变化,也不会影响原始数组中的元素和子数组。 实现数组的深度复制 在 JavaScript 中,实现数组的深度复制需要借助递归方法来完成。下面是一个常用的代码示例: function …

    JavaScript 2023年5月27日
    00
  • javascript:void(0)的真正含义实例分析

    JavaScript:void(0)的真正含义实例分析 在网页编程中,很多人都会用到 javascript:void(0) 这个常用的代码,这个代码经常用来作为 a 标签的 href 属性的值。那么这个字符串的含义究竟是什么呢?下面详细讲解一下。 JavaScript:void(0) 的含义 其实,javascript:void(0) 就是一句标准的 Jav…

    JavaScript 2023年6月11日
    00
  • android WebView加载html5介绍

    下面我将为您详细讲解android WebView加载html5的攻略。 简介 WebView是Android提供的一个用于显示网页的控件,其底层使用的是Chrome浏览器内核,因此支持HTML5技术。HTML5是一种用于Web开发的标准,增加了很多新的功能,如音视频播放、Canvas绘图、自适应布局等。本文将介绍如何使用WebView来加载HTML5页面。…

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