js 实现数组
数组的基本操作
在JavaScript中,数组是一种用于存储多个值的数据结构。数组可以包含不同类型的数据,如数字、字符串、对象等。
// 创建数组
let fruits = ['apple', 'banana', 'orange'];
// 访问数组元素
console.log(fruits[0]); // 输出: apple
// 修改数组元素
fruits[1] = 'grape';
console.log(fruits); // 输出: ['apple', 'grape', 'orange']
数组的常用方法
JavaScript提供了多种数组方法,用于操作和处理数组数据。

// push方法:在数组末尾添加元素
fruits.push('mango');
console.log(fruits); // 输出: ['apple', 'grape', 'orange', 'mango']
// pop方法:移除数组最后一个元素
fruits.pop();
console.log(fruits); // 输出: ['apple', 'grape', 'orange']
// shift方法:移除数组第一个元素
fruits.shift();
console.log(fruits); // 输出: ['grape', 'orange']
// unshift方法:在数组开头添加元素
fruits.unshift('kiwi');
console.log(fruits); // 输出: ['kiwi', 'grape', 'orange']
数组遍历
有多种方式可以遍历数组中的元素。
// for循环
for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
}
// forEach方法
fruits.forEach(function(fruit) {
console.log(fruit);
});
// for...of循环
for (let fruit of fruits) {
console.log(fruit);
}
数组的高级方法
JavaScript提供了强大的数组方法,用于过滤、映射和减少数组。

// filter方法:过滤数组元素
let numbers = [1, 2, 3, 4, 5];
let evenNumbers = numbers.filter(num => num % 2 === 0);
console.log(evenNumbers); // 输出: [2, 4]
// map方法:转换数组元素
let squaredNumbers = numbers.map(num => num * num);
console.log(squaredNumbers); // 输出: [1, 4, 9, 16, 25]
// reduce方法:累积数组值
let sum = numbers.reduce((total, num) => total + num, 0);
console.log(sum); // 输出: 15
数组解构
ES6引入了数组解构赋值,可以方便地从数组中提取值。
let [firstFruit, secondFruit] = fruits;
console.log(firstFruit); // 输出: kiwi
console.log(secondFruit); // 输出: grape
// 跳过某些元素
let [,,thirdFruit] = fruits;
console.log(thirdFruit); // 输出: orange
数组扩展运算符
扩展运算符(...)可以用于合并数组或复制数组。
// 合并数组
let moreFruits = ['pear', 'peach'];
let allFruits = [...fruits, ...moreFruits];
console.log(allFruits); // 输出: ['kiwi', 'grape', 'orange', 'pear', 'peach']
// 复制数组
let fruitsCopy = [...fruits];
console.log(fruitsCopy); // 输出: ['kiwi', 'grape', 'orange']






