清淨
  • Java

    • Java 基础
  • 框架

    • Flyway
    • MapStruct
    • Spring Cloud
  • 中间件

    • Elasticsearch
    • Redis
    • RabbitMQ
    • Kafka
  • 三剑客

    • HTML
    • CSS
    • JavaScript
  • 进阶

    • jQuery
    • ECMAScript6
    • TypeScript
  • Vue

    • Vue2
    • Vue3
    • VuePress
  • Linux
  • Jenkins
  • Maven
  • MySQL
  • 插件工具
  • 代码集成
  • 其它

    • 数据结构与算法
    • 计算机网络
    • 操作系统
    • 设计模式
迁移日志
订阅号
微信订阅号
微信订阅号
GitHub
  • Java

    • Java 基础
  • 框架

    • Flyway
    • MapStruct
    • Spring Cloud
  • 中间件

    • Elasticsearch
    • Redis
    • RabbitMQ
    • Kafka
  • 三剑客

    • HTML
    • CSS
    • JavaScript
  • 进阶

    • jQuery
    • ECMAScript6
    • TypeScript
  • Vue

    • Vue2
    • Vue3
    • VuePress
  • Linux
  • Jenkins
  • Maven
  • MySQL
  • 插件工具
  • 代码集成
  • 其它

    • 数据结构与算法
    • 计算机网络
    • 操作系统
    • 设计模式
迁移日志
订阅号
微信订阅号
微信订阅号
GitHub
  • ECMAScript6

    • 简介
    • let
    • const
    • 解构赋值
    • 对象简写
    • 箭头函数
    • 参数默认值
    • 剩余参数
    • 可选链操作符
    • 空值合并运算符
    • 逻辑空赋值
    • 模板字符串
    • 扩展运算符 (展开语法)
    • Array 扩展
    • String 扩展
    • Number 扩展
    • Object 扩展
    • 迭代器
    • 生成器
    • BigInt
    • Set
    • Map
    • class
    • 模块化
    • globalThis
    • Promise
    • async-await

Array 扩展

  • Array.from(arrayLike, [function])

    将类数组转换为真正的数组,它接收一个伪数组。

    let nodeList = document.querySelectorAll('div')
    console.log(Array.from(nodeList))
    

    当然,我们也可以传递一个函数对数组进行处理。

    let arrayLike = {
    "0":1,
    "1":2,
    "2":3,
    "length":3
    }
    let result = Array.from(arrayLike, e => e * 2)
    console.log(result)
    
  • find()

    找出第一个符合条件的数组成员,如果没有则返回 undefined。

    let arr = [1, 2, 3, 6, 7]
    let result = arr.find((e, i) => e >= 6)
    console.log(result)
    
  • findIndex()

    找出第一个符合条件的元素的下标,否则返回 -1。

    let arr1 = ['a', 'b', 'c']
    console.log(arr1.findIndex(e => e === 'b'))
    
  • includes()

    判断数组是否包含某个值,返回值为 boolean。

    let arr = [1, 2, 3, 6, 7]
    console.log(arr.includes(6))
    
  • flat()

    将数组进行降维 (二维降为一维、三维将为二维) 。

    let arr1 = [
    [1, 2, 3],
    [5, 6, 7]
    ]
    let arr2 = [
    [
        [1, 2, 3],
        [5, 6, 7]
    ]
    ]
    console.log(arr1.flat())
    console.log(arr2.flat())
    console.log(arr2.flat(1)) // 降为 1 维
    
  • flatMap()

    相当于 map() 和 flat() 的结合。

    let result = [1, 2, 3].flatMap(e => [e ** 2])
    console.log(result)
    
想要编辑此页?
上次更新: 2025/6/5 23:39
贡献者: Junfeng Dai
←扩展运算符 (展开语法)String 扩展→
[ 纸上得来终觉浅绝知此事要躬行 ]
Copyright © 2021-present Junfeng Dai
蜀ICP备2021009537号