返回

深扒数组基本用法,前端算法不迷路

前端

前端算法小结 | 数组篇

作为前端工程师,我们深知数据结构与算法的重要性,而其中,数组更是我们最常用到的数据结构之一。正值金三银四,在这场求职面试的较量中,算法题总是少不了,为各位前端程序员们送上这份数组篇算法小结,祝大家一臂之力!

一、数组的定义与基本用法

数组是一种数据结构,它可以存储一组相同类型的数据元素,元素之间使用逗号分隔,并用方括号[]括起来。数组中的元素可以通过索引来访问,索引从0开始。

let arr = [1, 2, 3, 4, 5];
console.log(arr[2]); // 输出:3

二、数组的常见操作

1. 循环与遍历

循环是遍历数组最常用的方法,它可以逐个访问数组中的每个元素。JavaScript中提供了多种循环语句,如for循环、while循环和do...while循环。

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

2. 排序

排序可以将数组中的元素按照一定的顺序排列。JavaScript中提供了多种排序算法,如冒泡排序、快速排序和归并排序等。

arr.sort(); // 默认升序排列
arr.sort((a, b) => a - b); // 自定义比较函数,升序排列
arr.sort((a, b) => b - a); // 自定义比较函数,降序排列

3. 查找

查找操作可以找到数组中某个元素的位置。JavaScript中提供了多种查找算法,如线性查找、二分查找和哈希查找等。

let index = arr.indexOf(3); // 线性查找,返回元素3在数组中的索引
index = arr.lastIndexOf(3); // 线性查找,返回元素3在数组中最后一次出现的索引
index = arr.includes(3); // 返回数组中是否包含元素3

4. 插入

插入操作可以将一个元素添加到数组中。JavaScript中提供了多种插入算法,如头插法、尾插法和二分插入法等。

arr.unshift(0); // 头插法,将元素0插入到数组开头
arr.push(6); // 尾插法,将元素6插入到数组末尾

5. 删除

删除操作可以将一个元素从数组中删除。JavaScript中提供了多种删除算法,如头删法、尾删法和二分删除法等。

arr.shift(); // 头删法,删除数组开头第一个元素
arr.pop(); // 尾删法,删除数组末尾最后一个元素
arr.splice(2, 1); // 二分删除法,从索引2开始删除一个元素

三、ES6中数组的新特性

ES6中引入了许多新的数组特性,使数组的操作更加方便和高效。

1. 扩展运算符

扩展运算符(...)可以将一个数组展开为一组单独的元素。

let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let arr3 = [...arr1, ...arr2]; // [1, 2, 3, 4, 5, 6]

2. 解构赋值

解构赋值可以将数组中的元素分配给多个变量。

let [a, b, c] = [1, 2, 3]; // a = 1, b = 2, c = 3

3. 数组方法

ES6中引入了许多新的数组方法,如forEach、map、filter和reduce等,使数组的操作更加灵活和简洁。

arr.forEach((item, index) => {
  console.log(item, index);
});

let newArr = arr.map((item) => item * 2); // [2, 4, 6, 8, 10]

let filteredArr = arr.filter((item) => item % 2 === 0); // [2, 4, 6, 8]

let sum = arr.reduce((prev, curr) => prev + curr, 0); // 15

掌握了这些基本用法,相信你能在前端算法的道路上走的更远,祝君金榜题名!