JavaScript中数组的基本方法与操作

数组添加和删除元素的四个方法基本方法

let arr = [1, 2, 3];
  1. push():向数组末尾添加元素

    arr.push(4);
    console.log(arr);	// [1, 2, 3, 4];
    
  2. pop():弹出数组的最后一个元素

    let temp = arr.pop();
    console.log(arr);	// [1, 2];
    console.log(temp);	// 3;
    
  3. shift():移除数组第一个元素,返回被移除的元素

    let temp = arr.shift();
    console.log(arr);	// [2, 3];
    console.log(temp); 	// 1
    
  4. unshift():向数组开头添加一个元素

    arr.unshift(4);
    console.log(arr);	// [4, 1, 2, 3]
    

slice和splice方法

  1. slice():裁剪数组,返回新的数组,不会影响原数组

    var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
    var citrus = fruits.slice(1); 
    console.log(citrus);	// ["Orange", "Lemon", "Apple", "Mango"]
    
  2. splice():拼接数组,返回一个包含已删除项的数组。

    第一个参数定义了应添加新元素的位置(拼接)。

    第二个参数定义应删除多少元素。

    其余参数定义要添加的新元素。

    // 用于向数组添加新项:
    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.splice(2, 0, "Lemon", "Kiwi");
    
    // 用来删除数组中的元素
    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.splice(0, 1);        // 删除 fruits 中的第一个元素
    

其余方法

  1. concat():通过合并(连接)现有数组来创建一个新数组

    var myGirls = ["Cecilie", "Lone"];
    var myBoys = ["Emil", "Tobias", "Linus"];
    var myChildren = myGirls.concat(myBoys);   // 连接 myGirls 和 myBoys
    
    var arr1 = ["Cecilie", "Lone"];
    var arr2 = ["Emil", "Tobias", "Linus"];
    var arr3 = ["Robin", "Morgan"];
    var myChildren = arr1.concat(arr2, arr3);   // 将arr1、arr2 与 arr3 连接在一起
    
  2. sort()sort() 方法是最强大的数组方法之一

    // 以字母顺序对数组进行排序
    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.sort();            // 对 fruits 中的元素进行排序
    
    // 自定义排序
    let arr = [1, 4, 2, 3, 0];
    arr.sort(function(a, b){
     	// 返回 > 0,交换a,b的位置
        // 返回 <= 0,不交换位置
        return a - b;
    })
    
  3. join():连接数组

    let a = [1, 23, 4, 5];
    let result = a.join('~~');	// 以“~~”连接数组
    console.log(result);	// 1~~23~~4~~5
    

数组迭代

  1. Array.forEach():每个数组元素调用一次函数(回调函数)

    var txt = "";
    var numbers = [45, 4, 9, 16, 25];
    numbers.forEach(myFunction);
    
    function myFunction(value, index, array) {
      txt = txt + value + "<br>"; 
    }
    
  2. Array.map():通过对每个数组元素执行函数来创建新数组。

    map() 方法不会对没有值的数组元素执行函数。

    map() 方法不会更改原始数组。

    var numbers1 = [45, 4, 9, 16, 25];
    var numbers2 = numbers1.map(myFunction);
    
    function myFunction(value, index, array) {
      return value * 2;
    }
    
    console.log(numbers2)	// [90, 8, 18, 32, 50]
    
  3. Array.filter():创建一个包含通过测试的数组元素的新数组。

    var numbers = [45, 4, 9, 16, 25];
    var over18 = numbers.filter(myFunction);
    
    function myFunction(value, index, array) {
      return value > 18;
    }
    
    console.log(over18);	// [45, 25]
    
  4. Array.reduce():在每个数组元素上运行函数,以生成(减少它)单个值。

    reduce() 方法不会减少原始数组。

    var numbers1 = [45, 4, 9, 16, 25];
    var sum = numbers1.reduce(myFunction);
    
    function myFunction(total, value, index, array) {
      return total + value;
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值