数组的常用方法,MARK!!有错误的地方请斧正!

67 阅读2分钟

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}`);
    });
    

解决常见问题的例子

  1. 查找数组中最大的数字:

    function findLargestNumber(arr) {
        let max = arr[0];
        for (let i = 1; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i];
            }
        }
        return max;
    }
    
  2. 反转字符串:

    function reverseString(str) {
        return str.split('').reverse().join('');
    }
    
  3. 从数组中移除重复项:

    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;
    }
    

欢迎各位补充。。。