zoukankan      html  css  js  c++  java
  • Javascript基础——数组

    ---恢复内容开始---

    1)判断是否是数组

    [] instanceof Array

    2)操作

    // 添加到数组尾部
    [].push('a', 'b') 
    
    // 取出最后一项'b'
    ['a', 'b'].pop()
    
    // 取出第一项'a'
    ['a', 'b'].shift()
    
    // 添加到数组首部,返回数组长度,数组:['c', 'a', 'b']
    ['a', 'b'].unshift('c')
    
    // 拼接, 此操作不改变原数组,返回拼接结果['a', 'b', 'c', 'd', 'e']
    ['a', 'b'].contact('c', ['d', 'e'])
    [1, 2, ...[3], ...[4, 5]] 返回[1, 2, 3, 4, 5]
    // 截取 ['a', 'b', 'c', 'd', 'e'].slice(1) // 返回 ['b', 'c', 'd', 'e'] ['a', 'b', 'c', 'd', 'e'].slice(1, 3) // 返回 ['b', 'c'],不包含第3项 // 删除第一个元素,返回['a'],数组:['b', 'c'] ['a', 'b', 'c'].splice(0, 1) // 在指定位置1上插入一个元素,不删除任何元素 ['a', 'b', 'c'].splice(1, 0, 'd') // 返回[],数组:['a', 'b', 'd', 'c'] // 替换指定位置上的元素 ['a', 'b', 'c'].splice(1, 1, 'd', 'e') // 返回['b'],数组:['a', 'd', 'e', 'c']
    // 数组填充为指定值
    ['a', 'b', 'c'].fill(1) // 数组[1, 1, 1]
    // 数组指定位置替换,参数(target, start, end(可选,默认等于数组长度)),用于处理原数组
    ['a', 'b', 'c', 'd', 'e'].copyWith(0, 4) // 数组['e', 'b', 'c', 'd', 'e']

    3)获取位置和检测是否包含

    ['a', 'b', 'a'].indexOf('a') // 0,使用===判断原则
    
    ['a', 'b', 'a'].lastIndexOf('a') // 2

    [
    'a', 'b'].includes('a') // true,ES6,更加语义化的判断数组中是否包含某个值
    ['a', 'b'].find(n => n === 'a') // 返回'a'
    ['a', 'b'].findIndex(n => n === 'a') // 返回0

    4)排序

    // 反序,数组['b', 'a']
    ['a', 'b'].reverse() 
    
    // 按字符顺序排序, 数组:[0, 1, 10, 3]
    [0, 1, 3, 10].sort()
    
    // 按大小排序,数组:[0, 1, 3, 10], 降序将-1和1互换
    function compare (val1, val2) {
       return val1 < val2 ? -1 : val1 > val2 ? 1 : 0  
    }
    [0, 1, 3, 10].sort(compare)

    5)迭代

    // every对数组中的每一项执行function函数,如果每一项都返回true,则返回true
    every(function (item, index, array) {})
    // some对数组中的每一项执行function函数,如果遇到有一项返回true,则返回true
    some(function (item, index, array) {})
    
    // map对数组中的每一项执行function函数,将每一项的返回值作为新数组的一项,返回新数组
    map(function (item, index, array) {})
    // forEach对数组中的每一项执行function函数
    forEach(function (item, index, array) {})
    //filter对数组中的每一项执行function函数,将执行结果为true的数组项组成新的数组返回
    filter(function (item, index, array) {})
    //找出第一个符合条件的数组成员,没有则返回undefined
    find(function (item, index, array) {})

    6)ES6扩展_转换为数组

    // 转换为Array
    Array.from() 类似数组的对象(具有length属性),例:可遍历对象(SetMap),Dom操作返回的NodeList集合,以及函数内部的arguments对象
    
    // 将一组值转化为Array
    Array.of(2)     // [2]
    new Array(2) // [ , ]

    7)ES6扩展_遍历数组

    keys() // 得到的是数组的index
    values() // 得到的是数组的值
    entries() // 得到的是(index, elem)

    8)数组推导(后续补充)

  • 相关阅读:
    Python find()方法
    Python expandtabs()方法
    RGB-D对红外热像仪和毫米波雷达标定
    ADAS虚拟车道边界生成
    3D惯导Lidar SLAM
    语义分割改进:通过视频传播和标签松弛
    YOLOv4:目标检测(windows和Linux下Darknet 版本)实施
    tensorflow-yolov4实施方法
    3D惯导Lidar仿真
    YOLOv4实用训练实践
  • 原文地址:https://www.cnblogs.com/yiyitong/p/8330103.html
Copyright © 2011-2022 走看看