• JavaScript中的数组方法汇总


    JavaScript中的数组

    数组方法

    indexOf() 查询元素

    说明:可返回某个指定的字符串值在字符串中首次出现的位置,如果没找到则返回-1。

    用法:indexOf(字符串,开始位置optional)

    var arr = ['hello', 'word']
    arr.indexOf('word') // 1
    

    pop() 删除最后一项

    说明: 删除数组的最后一个元素并返回删除的元素。

    用法:arr.pop()

    var arr = [1,2,3,4,5]
    arr.pop() // [1,2,3,4]
    

    push() 添加到末尾

    说明:向数组的末尾添加一个或更多元素,并返回新的长度。

    用法:arr.push(item)

    var arr = [1,2,3]
    arr.push(4) // [1,2,3,4]
    arr.push(4,5,6) // [1,2,3,4,5,6]
    

    unshift() 添加到开头

    说明:向数组的开头添加一个或更多元素,并返回新的长度。

    用法: arr.unshift(item)

    var arr = [1,2,3]
    arr.unshift(4) // [4,1,2,3]
    arr.unshift(4,5,6) // [4,5,6,1,2,3]
    

    shift() 删除第一项

    说明:删除并返回数组的第一个元素。

    用法:arr.shift()

    var arr = [1,2,3]
    arr.shift() // 1
    

    slice() 截取数组

    说明:选取数组的的一部分,并返回一个新数组。(不改变原数组)

    用法:arr.slice(开始位置optional, 结束为止optional)

    var arr = ['red', 'blue', 'orange', 'green', 'black']
    arr.slice(1) // [ 'blue', 'orange', 'green', 'black' ]
    arr.slice(1,3) // [ 'blue', 'orange' ]
    arr.slice() // ['red', 'blue', 'orange', 'green', 'black']
    

    splice() 删除或添加

    说明: 从数组中添加或删除元素。

    用法: arr.splice(位置,删除个数optional,添加元素)

    var arr = [1,2,3]
    arr.splice(1,1,4,5,6) // [ 1, 4, 5, 6, 3 ] 从1的位置删除了一个元素2,并从1的位置添加了4、5、6
    arr.splice(1,1) // [ 1, 3 ]
    arr.splice(1, 0, 6) // [ 1, 6, 2, 3 ]
    arr.splice(1) // [ 1 ] 从1的位置开始删除后面所有元素
    

    join() 分隔数组

    说明: 把数组的所有元素放入一个字符串。

    用法: arr.join(要使用的分隔符optional)

    var arr = [1,2,3]
    arr.join() // 1,2,4 如果为空则默认用逗号分隔
    arr.join('-') // 1-2-3
    

    concat() 连接数组

    说明:连接两个或更多的数组,并返回结果。(不改变原数组)

    用法: arr.concat(arr1,arr2...)

    var arr = [1,2]
    var arr1 = [3,4]
    var arr2 = [5,6]
    var arr3 = arr.contact(arr1,arr2)  // [ 1, 2, 3, 4, 5, 6 ]
    

    reverse() 反转数组

    说明:反转数组的元素顺序。

    用法: arr.reverse()

    var arr = [1,2,3]
    arr.reverse() // [3,2,1]
    

    sort() 数组排序

    说明:对数组的元素进行排序。

    用法:arr.sort(规定排序的函数optional)

    var arr = [1,2,4,1,6,12,42]
    arr.sort(function(a, b){
        return a - b
    }) // 升序 [1,  1,  2, 4,6, 12, 42]
    
    arr.sort(function(a, b){
        return b - a
    }) // 降序 [42, 12, 6, 4, 2,  1, 1]
    

    toString() 转字符串

    说明: 把数组转换为字符串,并返回结果。

    用法: arr.toString()

    var arr = [1,2,3]
    arr.toString() // 1,2,3
    

    toLocaleString() 转字符串

    说明:返回一个字符串表示数组中的元素。数组中的元素将使用各自的 toLocaleString方法转成字符串,这些字符串将使用一个特定语言环境的字符串(例如一个逗号 ",")隔开。

    用法:arr.toLocaleString()

    valueOf() 默认方法

    说明: 返回数组对象的原始值。数组的默认方法,通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。

    用法:arr.valutOf()

    filter() 过滤

    说明: 检测数值元素,并返回符合条件所有元素的数组。

    用法: arr.filter(执行函数)

    var arr = ['green', 'red', 'blue', 'yellow', 'blue']
    
    let arr2 = arr.filter(function(item) {
        return item === 'blue'
    }) // [ 'blue', 'blue' ]
    
    ---------------------------------------------------
    var arr = [
        {name: 'jack', age: 20},
        {name: 'joyce', age: 20},
        {name: 'alice', age: 20},
        {name: 'tom', age: 20},
        {name: 'joyce', age: 20},
    ]
    
    let arr2 = arr.filter(function(item) {
        return item.name === 'joyce'
    }) // [ { name: 'joyce', age: 20 }, { name: 'joyce', age: 20 } ]
    
    

    copyWithin() 拷贝元素

    说明:从数组的指定位置拷贝元素到数组的另一个指定位置中。

    用法:arr.copyWithin(从开始位置复制到指定目标索引位置,元素复制的起始位置optional,停止复制的索引位置optional)

    var arr = ['green', 'red', 'blue', 'yellow', 'blue']
    let arr2 = arr.copyWithin(1, 0, 1) // [ 'green', 'green', 'blue', 'yellow', 'blue' ]
    

    entries() 数组迭代对象

    说明:返回一个数组的迭代对象,该对象包含数组的键值对 (key/value)。

    用法:arr.entries()

    var arr = ['green', 'red', 'blue', 'yellow', 'blue']
    let arr2 = arr.entries() // 
    

    every() 检测所有元素是否相符

    说明:检测数值元素的每个元素是否都符合条件。返回一个布尔值,不改变原数组。

    用法:arr.every(执行函数)

    var arr = [23,44,5455,5522,333,55]
    arr.every(function(item){
      return item > 10
    }) // true
    

    fill() 填充内容

    说明: 使用一个固定值来填充数组。

    用法: arr.fill(要添加的内容,开始位置optional,结束位置optional)

    var arr = [, , , ,]
    arr.fill('hello') // [ 'hello', 'hello', 'hello', 'hello' ]
    

    find() 返回相符元素第一项

    说明: 返回符合传入测试(函数)条件的数组元素。

    用法:arr.find(执行函数)

    var arr = ['green', 'red', 'blue', 'yellow', 'blue']
    let arr2 = arr.find(function(item){
        return item === 'blue'
    }) // blue
    

    findIndex() 返回相符元素位置

    说明: 返回符合传入测试(函数)条件的数组元素索引。

    用法: arr.findIndex(执行函数)

    var arr = ['green', 'red', 'blue', 'yellow', 'blue']
    let arr2 = arr.findIndex(function(item){
        return item === 'blue'
    }) // 2
    

    forEach() 遍历数组

    说明: 数组每个元素都执行一次回调函数。

    用法: arr.forEach(执行函数)

    var arr = ['green', 'red', 'blue', 'yellow', 'blue']
    arr.forEach((item, index) => {
      console.log(item, index)
    })
    

    from() 创建特定数组

    说明: 通过给定的对象中创建一个数组。

    用法:Array.from(对象,函数, this对象)

    var setObj = new Set(["a", "b", "c"]);
    var objArr = Array.from(setObj); // [ 'a', 'b', 'c' ]
    
    var arr1 = Array.from('hello') // [ 'h', 'e', 'l', 'l', 'o' ]
    
    var arr = Array.from([1, 2, 3], x => x * 10); // [ 10, 20, 30 ]
    
    

    includes() 检测是否有指定元素

    说明: 判断一个数组是否包含一个指定的值。

    用法:arr.includes(要查找的元素,开始查找位置optional)

    var arr = ['a', 'b', 'c']
    arr.includes('b') // true
    

    isArray() 判断数组

    说明: 判断对象是否为数组。

    用法: Array.isArray(arr)

    var text = '21232213'
    var arr  [1,2,3]
    
    Array.isArray(text) // false
    Array.isArray(arr) // true
    

    keys() 数组的键(key)

    说明:返回数组的可迭代对象,包含原始数组的键(key)。

    用法: arr.keys()

    var arr = ['green', 'red', 'blue', 'yellow', 'blue']
    var arr2 = arr.keys()
    console.log([...arr.keys()])
    

    lastIndexOf() 搜索并返回最后元素

    说明:搜索数组中的元素,并返回它最后出现的位置。

    用法:arr.lastIndexOf(要查找元素)

    var arr = ['green', 'red', 'blue', 'yellow', 'blue']
    var arr2 = arr.lastIndexOf('blue') // 4
    

    map() 遍历并返回处理后数组

    说明:通过指定函数处理数组的每个元素,并返回处理后的数组。

    用法:arr.map(函数)

    var arr = ['green', 'red', 'blue', 'yellow', 'blue']
    arr.map((item, index) =>{
      item = item + index
    }) 
    // [ 'green0', 'red1', 'blue2', 'yellow3', 'blue4' ]
    
    

    reduce() 累加器

    说明:将数组元素计算为一个值(从左到右)。

    用法:arr.reduce(function(total, currentValue, currentIndex, arr), initialValue)

    var arr = [1,33,222,52,12,4,442]
    
    var arr2 = arr.reduce((total, item, index, arr) => total + item)
    // 766
    

    reduceRight() 累加器从右开始

    说明:将数组元素计算为一个值(从右到左)。

    用法:array.reduceRight(function(total, currentValue, currentIndex, arr), initialValue)

    var arr = [1,33,222,52,12,4,442]
    var arr2 = arr.reduceRight((total, item, index, arr) => total + item, 0)
    // 766
    

    some() 检测元素

    说明:检测数组元素中是否有元素符合指定条件。返回布尔值,不会改变原数组

    用法:arr.some(函数)

    var arr = [1,33,222,52,12,4,442]
    var arr2 = arr.some(function (item, index){
        return item > 10
    })
    // true
    

    Array.of() 创建数组

    说明:该方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。

    Array.of()Array 构造函数之间的区别在于处理整数参数:Array.of(7) 创建一个具有单个元素7的数组,而 Array(7) 创建一个包含7undefined元素的数组。

    此函数是ECMAScript 2015标准的一部分。

    用法: Array.of(元素, 元素...)

    Array.of(7);       // [7] 
    Array.of(1, 2, 3); // [1, 2, 3]
    
    Array(7);          // [ , , , , , , ]
    Array(1, 2, 3);    // [1, 2, 3]
    

    Array.length 数组个数(长度)

    说明:length是Array的实例属性。返回或设置一个数组中的元素个数。该值是一个无符号 32-bit 整数,并且总是大于数组最高项的下标。

    用法: arr.length

    var arr = [1,2,3,4,5]
    var len = arr.length // 5
    

    Arrray.of()

    说明:将一组值转换为数组,功能类似于 Array()、new Array()。
    用法:Array.of()

    const arr = Array.of(1,2,3)
    // 打印 [1, 2, 3]
    
  • 相关阅读:
    9.1做JS的题目(2)
    9.1做JS的题目
    8.31做JS的题目
    8.30做JS的题目
    扫码跳转微信小程序(服务端微信API生成二维码)
    扫码跳转微信小程序(微信公众平台配置测试二维码)
    项目配置:maven下载与配置、tomcat下载与配置
    Java基础:常用工具_API
    Java基础: 抽象类、接口、final关键字、static关键字
    java基础: 封装、继承、多态
  • 原文地址:https://www.cnblogs.com/liea/p/12504898.html
Copyright © 2020-2023  润新知