zoukankan      html  css  js  c++  java
  • 【JavaScript】Array 实例方法(二)

    以下内容为学习记录,可以参考 MDN 原文。

    环境

    • node v12.18.1
    • npm 6.14.5
    • vscode 1.46
    • Microsoft Edge 83

    includes

    includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回 false。

    const array1 = [1, 2, 3];
    
    console.log(array1.includes(2));
    // expected output: true
    
    const pets = ['cat', 'dog', 'bat'];
    
    console.log(pets.includes('cat'));
    // expected output: true
    
    console.log(pets.includes('at'));
    // expected output: false
    

    indexOf

    indexOf() 方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回 -1。

    const beasts = ['ant', 'bison', 'camel', 'duck', 'bison'];
    
    console.log(beasts.indexOf('bison'));
    // expected output: 1
    
    // start from index 2
    console.log(beasts.indexOf('bison', 2));
    // expected output: 4
    
    console.log(beasts.indexOf('giraffe'));
    // expected output: -1
    

    join

    join() 方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符。

    const elements = ['Fire', 'Air', 'Water'];
    
    console.log(elements.join());
    // expected output: "Fire,Air,Water"
    
    console.log(elements.join(''));
    // expected output: "FireAirWater"
    
    console.log(elements.join('-'));
    // expected output: "Fire-Air-Water"
    

    keys

    keys() 方法返回一个包含数组中每个索引键的 Array Iterator 对象。

    const array1 = ['a', 'b', 'c'];
    const iterator = array1.keys();
    
    for (const key of iterator) {
      console.log(key);
    }
    
    // expected output: 0
    // expected output: 1
    // expected output: 2
    

    lastIndexOf

    lastIndexOf() 方法返回指定元素(也即有效的 JavaScript 值或变量)在数组中的最后一个的索引,如果不存在则返回 -1。从数组的后面向前查找,从 fromIndex 处开始。

    const animals = ['Dodo', 'Tiger', 'Penguin', 'Dodo'];
    
    console.log(animals.lastIndexOf('Dodo'));
    // expected output: 3
    
    console.log(animals.lastIndexOf('Tiger'));
    // expected output: 1
    

    map

    map() 方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。

    const array1 = [1, 4, 9, 16];
    
    // pass a function to map
    const map1 = array1.map(x => x * 2);
    
    console.log(map1);
    // expected output: Array [2, 8, 18, 32]
    

    pop

    pop() 方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。

    const plants = ['broccoli', 'cauliflower', 'cabbage', 'kale', 'tomato'];
    
    console.log(plants.pop());
    // expected output: "tomato"
    
    console.log(plants);
    // expected output: Array ["broccoli", "cauliflower", "cabbage", "kale"]
    
    plants.pop();
    
    console.log(plants);
    // expected output: Array ["broccoli", "cauliflower", "cabbage"]
    

    push

    push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度。

    const animals = ['pigs', 'goats', 'sheep'];
    
    const count = animals.push('cows');
    console.log(count);
    // expected output: 4
    console.log(animals);
    // expected output: Array ["pigs", "goats", "sheep", "cows"]
    
    animals.push('chickens', 'cats', 'dogs');
    console.log(animals);
    // expected output: Array ["pigs", "goats", "sheep", "cows", "chickens", "cats", "dogs"]
    

    reduce

    reduce() 方法对数组中的每个元素执行一个由您提供的 reducer 函数(升序执行),将其结果汇总为单个返回值。

    const array1 = [1, 2, 3, 4];
    const reducer = (accumulator, currentValue) => accumulator + currentValue;
    
    // 1 + 2 + 3 + 4
    console.log(array1.reduce(reducer));
    // expected output: 10
    
    // 5 + 1 + 2 + 3 + 4
    console.log(array1.reduce(reducer, 5));
    // expected output: 15
    
  • 相关阅读:
    OpenCV实现基于傅里叶变换的旋转文本校正
    【来龙去脉系列】QRCode二维码的生成细节和原理
    软件License设计
    常见加密算法简析
    【来龙去脉系列】RSA算法原理
    单目相机标定原理
    CYQ.Data 支持 PostgreSQL 数据库
    ASP.NET Aries 高级开发教程:主题样式及多语言(标签化控制)
    ASP.NET Aries 高级开发教程:Excel导入之代码编写(番外篇)
    ASP.NET Aries 高级开发教程:Excel导入配置之规则说明(下)
  • 原文地址:https://www.cnblogs.com/jiangbo44/p/13611232.html
Copyright © 2011-2022 走看看