JavaScript 中的数组是一种非常基础和重要的数据结构,它允许我们在单个变量中存储多个值。在 JavaScript 中,我们使用方括号 [] 来声明数组,并且可以存储各种类型的数据,例如数字、字符串、对象甚至是其他数组。
声明和访问元素
let names = ['Raj', 'Shiva', 'Anand', 'Kumar'];
console.log(names[0]); // 输出: 'Raj'
console.log(names[2]); // 输出: 'Anand'
JavaScript 数组是从零开始索引的,也就是说,第一个元素使用索引 0 访问,第二个使用索引 1,依此类推。
数组方法:添加和删除元素
JavaScript 数组提供了许多方法来动态操作数组中的元素:
-
push: 向数组末尾添加一个或多个元素,并返回新数组的长度。
names.push('Ajay'); console.log(names); // 输出: ['Raj', 'Shiva', 'Anand', 'Kumar', 'Ajay'] -
pop: 删除数组末尾的元素,并返回被删除的元素。
let lastName = names.pop(); console.log(lastName); // 输出: 'Ajay' console.log(names); // 输出: ['Raj', 'Shiva', 'Anand', 'Kumar'] -
shift: 删除数组的第一个元素,并返回被删除的元素,同时将其他元素向左移动一位。
let firstName = names.shift(); console.log(firstName); // 输出: 'Raj' console.log(names); // 输出: ['Shiva', 'Anand', 'Kumar'] -
unshift: 向数组的开头添加一个或多个元素,并返回新数组的长度。
names.unshift('Vivek'); console.log(names); // 输出: ['Vivek', 'Shiva', 'Anand', 'Kumar']
有用的数组方法
-
splice: 修改数组的内容,可以删除、替换或添加元素。
names.splice(2, 0, 'Rahul'); // 在索引 2 处插入 'Rahul' console.log(names); // 输出: ['Vivek', 'Shiva', 'Rahul', 'Anand', 'Kumar'] -
slice: 返回数组的一部分,生成一个新数组。
let selectedNames = names.slice(1, 4); // 返回索引 1 到 3 的元素 console.log(selectedNames); // 输出: ['Shiva', 'Rahul', 'Anand'] -
concat: 连接两个或多个数组,并返回一个新数组。
let moreNames = ['Suresh', 'Deepak']; let allNames = names.concat(moreNames); console.log(allNames);
遍历数组
可以使用循环或数组方法如 forEach, map, filter, reduce 来遍历数组。
- forEach: 对数组中的每个元素执行提供的函数。
names.forEach(function(name, index) { console.log(`索引 ${index} 处的名字: ${name}`); });
解决常见问题的例子
-
查找数组中最大的数字:
function findLargestNumber(arr) { let max = arr[0]; for (let i = 1; i < arr.length; i++) { if (arr[i] > max) { max = arr[i]; } } return max; } -
反转字符串:
function reverseString(str) { return str.split('').reverse().join(''); } -
从数组中移除重复项:
function removeDuplicates(arr) { let uniqueArray = []; for (let i = 0; i < arr.length; i++) { if (uniqueArray.indexOf(arr[i]) === -1) { uniqueArray.push(arr[i]); } } return uniqueArray; }
欢迎各位补充。。。