使用JavaScript实现ES数组的常见操作

一、创建数组

在JavaScript中,通过[]或Array()函数可以创建一个新的数组。如果想要定长的空数组,可以使用new Array(length)来创建。

let arr1 = []; //空数组
let arr2 = Array(); //空数组
let arr3 = new Array(3); //长度为3的空数组
console.log(arr1); // []
console.log(arr2); // []
console.log(arr3); // [undefined, undefined, undefined]

如果想要指定数组中的元素,可以直接使用数组字面量或者在Array()函数中传入元素。

let arr4 = ['apple', 'banana', 'orange']; //包含3个元素的数组
let arr5 = Array('dog', 'cat', 'fish'); //包含3个元素的数组
console.log(arr4); // ["apple", "banana", "orange"]
console.log(arr5); // ["dog", "cat", "fish"]

二、遍历数组

遍历数组是常见的操作之一,可以使用for循环或者foreach函数。for循环可以通过下标来访问数组元素,而foreach函数则可以直接访问每个元素。

let arr = ['apple', 'banana', 'orange'];
//使用for循环遍历数组
for(let i=0; i<arr.length; i++){
  console.log(arr[i]);
}
//使用foreach函数遍历数组
arr.forEach(function(item) {
  console.log(item);
})

三、添加/删除元素

1. push/pop

push方法可以向数组尾部添加一个或多个元素,同时修改原数组;pop方法可以删除数组尾部的元素并返回删除的元素。这两个方法都可以方便地处理栈。

let arr = ['apple', 'banana', 'orange'];
arr.push('grape'); //返回新数组长度
console.log(arr); // ["apple", "banana", "orange", "grape"]
let lastItem = arr.pop(); //返回删除的元素
console.log(lastItem); // "grape"
console.log(arr); // ["apple", "banana", "orange"]

2. unshift/shift

unshift方法可以向数组头部添加一个或多个元素,同时修改原数组;shift方法可以删除数组头部的元素并返回删除的元素。这两个方法都可以方便地处理队列。

let arr = ['apple', 'banana', 'orange'];
arr.unshift('grape'); //返回新数组长度
console.log(arr); // ["grape", "apple", "banana", "orange"]
let firstItem = arr.shift(); //返回删除的元素
console.log(firstItem); // "grape"
console.log(arr); // ["apple", "banana", "orange"]

3. splice

splice方法可以在指定的位置添加/删除元素。可以通过splice(index, count, item1, item2…)来在index处删除count个元素,并添加item1, item2…。如果只是想删除元素,则可以使用splice(index, count)。

let arr = ['apple', 'banana', 'orange'];
arr.splice(1, 1, 'grape', 'kiwi'); //在index=1处删除1个元素,然后添加两个元素
console.log(arr); // ["apple", "grape", "kiwi", "orange"]
arr.splice(2, 1); //在index=2处删除1个元素
console.log(arr); // ["apple", "grape", "orange"]

四、转换数组

1. join/split

join方法可以将数组中的元素以指定的分隔符连接成字符串,split方法可以将字符串按照指定的分隔符切分成数组。

let arr = ['apple', 'banana', 'orange'];
let joinStr = arr.join(', '); //使用指定的分隔符连接数组元素
console.log(joinStr); // "apple, banana, orange"
let splitArr = joinStr.split(', '); //使用指定的分隔符切分字符串为数组
console.log(splitArr); // ["apple", "banana", "orange"]

2. map/filter/reduce

这三个函数是用于遍历数组并操作每个元素的常见函数之一。map函数可以根据指定的函数对数组中的每个元素进行操作并返回操作后的数组;filter函数可以根据指定的函数对数组中的元素进行筛选返回符合条件的元素集合;reduce函数可以根据指定的函数对数组中的元素进行累积计算,并返回计算结果。

let arr = [1, 2, 3, 4, 5];
let mapArr = arr.map(function(item){
  return item*2;
});//对数组中的每个元素进行操作
console.log(mapArr); // [2, 4, 6, 8, 10]
let filterArr = arr.filter(function(item){
  return item%2==0;
});//筛选出数组中符合条件的元素
console.log(filterArr); // [2, 4]
let reduceSum = arr.reduce(function(total, item){
  return total + item;
});//对数组中的元素进行累积计算
console.log(reduceSum); // 15

五、排序/查找元素

1. sort/reverse

sort函数可以根据指定的排序规则对数组中的元素进行排序,默认是按照unicode编码进行排序;reverse函数可以将数组中的元素反转。

let arr = ['c', 'a', 'd', 'b'];
arr.sort(); //按照unicode编码进行排序
console.log(arr); // ["a", "b", "c", "d"]
arr.reverse(); //反转数组
console.log(arr); // ["d", "c", "b", "a"]

2. indexOf/lastIndexOf

indexOf函数可以返回指定元素在数组中的索引值,lastIndexOf函数可以返回从末尾开始的第一个指定元素在数组中的索引值。如果数组中不存在该元素,则返回-1。

let arr = ['apple', 'banana', 'orange', 'apple'];
let index1 = arr.indexOf('apple'); //返回元素在数组中的索引值
console.log(index1); // 0
let index2 = arr.lastIndexOf('apple'); //返回倒数第一个元素在数组中的索引值
console.log(index2); // 3
let index3 = arr.indexOf('grape'); //元素不存在,返回-1
console.log(index3); // -1

3. includes

includes函数可以判断指定元素是否存在于数组中,并返回布尔值。

let arr = ['apple', 'banana', 'orange'];
let isInclude = arr.includes('apple'); //判断元素是否存在于数组中
console.log(isInclude); // true
let isInclude2 = arr.includes('grape');
console.log(isInclude2); // false

原创文章,作者:VENUM,如若转载,请注明出处:https://www.506064.com/n/316411.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
VENUMVENUM
上一篇 2025-01-09 12:14
下一篇 2025-01-09 12:14

相关推荐

  • Python栈操作用法介绍

    如果你是一位Python开发工程师,那么你必须掌握Python中的栈操作。在Python中,栈是一个容器,提供后进先出(LIFO)的原则。这篇文章将通过多个方面详细地阐述Pytho…

    编程 2025-04-29
  • Python导入数组

    本文将为您详细阐述Python导入数组的方法、优势、适用场景等方面,并附上代码示例。 一、numpy库的使用 numpy是Python中一个强大的数学库,其中提供了非常丰富的数学函…

    编程 2025-04-29
  • Python返回数组:一次性搞定多种数据类型

    Python是一种多用途的高级编程语言,具有高效性和易读性的特点,因此被广泛应用于数据科学、机器学习、Web开发、游戏开发等各个领域。其中,Python返回数组也是一项非常强大的功…

    编程 2025-04-29
  • Python去掉数组的中括号

    在Python中,被中括号包裹的数据结构是列表,列表是Python中非常常见的数据类型之一。但是,有些时候我们需要将列表展开成一维的数组,并且去掉中括号。本文将为大家详细介绍如何用…

    编程 2025-04-29
  • Python操作数组

    本文将从多个方面详细介绍如何使用Python操作5个数组成的列表。 一、数组的定义 数组是一种用于存储相同类型数据的数据结构。Python中的数组是通过列表来实现的,列表中可以存放…

    编程 2025-04-29
  • Python操作MySQL

    本文将从以下几个方面对Python操作MySQL进行详细阐述: 一、连接MySQL数据库 在使用Python操作MySQL之前,我们需要先连接MySQL数据库。在Python中,我…

    编程 2025-04-29
  • Python磁盘操作全方位解析

    本篇文章将从多个方面对Python磁盘操作进行详细阐述,包括文件读写、文件夹创建、删除、文件搜索与遍历、文件重命名、移动、复制、文件权限修改等常用操作。 一、文件读写操作 文件读写…

    编程 2025-04-29
  • Python代码实现回文数最少操作次数

    本文将介绍如何使用Python解决一道经典的回文数问题:给定一个数n,按照一定规则对它进行若干次操作,使得n成为回文数,求最少的操作次数。 一、问题分析 首先,我们需要了解回文数的…

    编程 2025-04-29
  • Python元祖操作用法介绍

    本文将从多个方面对Python元祖的操作进行详细阐述。包括:元祖定义及初始化、元祖遍历、元祖切片、元祖合并及比较、元祖解包等内容。 一、元祖定义及初始化 元祖在Python中属于序…

    编程 2025-04-29
  • Python列表的读写操作

    本文将针对Python列表的读取与写入操作进行详细的阐述,包括列表的基本操作、列表的增删改查、列表切片、列表排序、列表反转、列表拼接、列表复制等操作。 一、列表的基本操作 列表是P…

    编程 2025-04-29

发表回复

登录后才能评论