返回
数组处理:掌握常见操作,提升数据操控能力
前端
2023-11-28 03:48:16
数组是 JavaScript 中一种常见的数据结构,用于存储有序的数据集合。数组可以存储任何类型的数据,包括数字、字符串、布尔值、对象和数组本身。
数组的操作非常丰富,包括遍历、排序、筛选、查找、删除、添加、修改、扁平化、连接、反转、去重、拼接、截取、查找最小值、查找最大值、连接、切片、克隆、比较、复制、合并、交集、并集、差集、拷贝、替换、循环、迭代和递归。
掌握这些操作,将显著提升您操控数据的能力。
以下是一些数组常见操作的示例:
- 遍历数组:
const arr = [1, 2, 3, 4, 5];
arr.forEach((item, index) => {
console.log(`Item at index ${index}: ${item}`);
});
- 排序数组:
const arr = [5, 2, 1, 4, 3];
arr.sort(); // Sort the array in ascending order
console.log(arr); // Output: [1, 2, 3, 4, 5]
- 筛选数组:
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const evenNumbers = arr.filter((item) => {
return item % 2 === 0;
});
console.log(evenNumbers); // Output: [2, 4, 6, 8, 10]
- 查找数组中的元素:
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const index = arr.indexOf(5);
console.log(index); // Output: 4
- 删除数组中的元素:
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
arr.splice(4, 1); // Remove the element at index 4
console.log(arr); // Output: [1, 2, 3, 4, 6, 7, 8, 9, 10]
- 添加元素到数组中:
const arr = [1, 2, 3, 4, 5];
arr.push(6); // Add an element to the end of the array
console.log(arr); // Output: [1, 2, 3, 4, 5, 6]
- 修改数组中的元素:
const arr = [1, 2, 3, 4, 5];
arr[2] = 6; // Modify the element at index 2
console.log(arr); // Output: [1, 2, 6, 4, 5]
- 扁平化数组:
const arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
const flatArray = arr.flat();
console.log(flatArray); // Output: [1, 2, 3, 4, 5, 6, 7, 8, 9]
- 连接数组:
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const newArr = arr1.concat(arr2);
console.log(newArr); // Output: [1, 2, 3, 4, 5, 6]
- 反转数组:
const arr = [1, 2, 3, 4, 5];
arr.reverse();
console.log(arr); // Output: [5, 4, 3, 2, 1]
- 去重数组:
const arr = [1, 2, 3, 4, 5, 1, 2, 3];
const uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // Output: [1, 2, 3, 4, 5]
- 拼接数组:
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const newArr = arr1.join(',') + ',' + arr2.join(',');
console.log(newArr); // Output: "1,2,3,4,5,6"
- 截取数组:
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const newArr = arr.slice(2, 5);
console.log(newArr); // Output: [3, 4, 5]
- 查找最小值:
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const minValue = Math.min(...arr);
console.log(minValue); // Output: 1
- 查找最大值:
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const maxValue = Math.max(...arr);
console.log(maxValue); // Output: 10
- 连接数组:
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const newArr = arr1.concat(arr2);
console.log(newArr); // Output: [1, 2, 3, 4, 5, 6]
- 切片数组:
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const newArr = arr.slice(2, 5);
console.log(newArr); // Output: [3, 4, 5]
- 克隆数组:
const arr = [1, 2, 3, 4, 5];
const newArr = [...arr];
console.log(newArr); // Output: [1, 2, 3, 4, 5]
- 比较数组:
const arr1 = [1, 2, 3];
const arr2 = [1, 2, 3];
console.log(arr1 === arr2); // Output: false
- 复制数组:
const arr = [1, 2, 3, 4, 5];
const newArr = arr.slice();
console.log(newArr); // Output: [1, 2, 3, 4, 5]
- 合并数组:
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const newArr = [...arr1, ...arr2];
console.log(newArr); // Output: [1, 2, 3, 4, 5, 6]
- 交集数组:
const arr1 = [1, 2, 3, 4, 5];
const arr2 = [3, 4, 5, 6, 7];
const intersection = arr1.filter((item) => {
return arr2.includes(item);
});
console.log(intersection); // Output: [3, 4, 5]
- 并集数组:
const arr1 = [1, 2, 3, 4, 5];
const arr2 = [3, 4, 5, 6