当前位置: 首页 > ai >正文

Javscript 数组的常用方法有哪些?

一、增删元素(直接修改原数组)

  1. push(元素)

    • 动作:像排队,往队伍末尾加人
    • 例子
      let arr = [1, 2, 3];
      arr.push(4); // arr变成 [1, 2, 3, 4]
      
  2. pop()

    • 动作:队伍末尾的人离开
    • 例子
      arr.pop(); // 移除4,arr变回 [1, 2, 3]
      
  3. unshift(元素)

    • 动作:往队伍最前面插队
    • 例子
      arr.unshift(0); // arr变成 [0, 1, 2, 3]
      
  4. shift()

    • 动作:队伍最前面的人离开
    • 例子
      arr.shift(); // 移除0,arr变回 [1, 2, 3]
      
  5. splice(开始位置, 删除个数, 新元素...)

    • 动作:在指定位置删旧人、加新人
    • 例子
      arr.splice(1, 1, 'a', 'b'); 
      // 从索引1开始,删除1个元素(2),加入'a'和'b'
      // arr变成 [1, 'a', 'b', 3]
      

二、遍历和转换(不修改原数组,返回新结果)

  1. map(回调函数)

    • 动作:把每个元素加工后,组成新数组。
    • 例子
      let nums = [1, 2, 3];
      let doubles = nums.map(num => num * 2); // [2, 4, 6]
      
  2. filter(回调函数)

    • 动作筛出符合条件的元素。
    • 例子
      let numbers = [1, 5, 12, 8];
      let bigNumbers = numbers.filter(num => num > 10); // [12]
      
  3. find(回调函数)

    • 动作:找到第一个符合条件的元素。
    • 例子
      let users = [{id:1}, {id:2}, {id:3}];
      let user = users.find(u => u.id === 2); // {id: 2}
      
  4. forEach(回调函数)

    • 动作遍历每个元素,但不像map返回新数组。
    • 例子
      let arr = [1, 2, 3];
      arr.forEach(item => console.log(item)); // 依次打印1,2,3
      

三、检查与判断

  1. some(回调函数)

    • 动作:检查数组中是否有至少一个符合条件的元素。
    • 例子
      let hasEven = [1, 3, 5, 4].some(num => num % 2 === 0); // true(因为4是偶数)
      
  2. every(回调函数)

    • 动作:检查是否所有元素都符合条件。
    • 例子
      let allEven = [2, 4, 6].every(num => num % 2 === 0); // true
      
  3. includes(元素)

    • 动作:判断数组是否包含某个元素(简单值)。
    • 例子
      let pets = ['猫', '狗', '鸟'];
      pets.includes('狗'); // true
      

四、拼接与合并

  1. concat(数组)

    • 动作:把两个数组拼接到一起,返回新数组。
    • 例子
      let arr1 = [1, 2];
      let arr2 = [3, 4];
      let combined = arr1.concat(arr2); // [1, 2, 3, 4]
      
  2. join(分隔符)

    • 动作:把数组元素用分隔符连成字符串
    • 例子
      let words = ['Hello', 'World'];
      words.join(' '); // "Hello World"
      

五、其他常用方法

  1. slice(开始位置, 结束位置)

    • 动作切出数组的一部分,原数组不变。
    • 例子
      let arr = [1, 2, 3, 4];
      let part = arr.slice(1, 3); // [2, 3]
      
  2. reverse()

    • 动作:把数组倒过来
    • 例子
      let arr = [1, 2, 3];
      arr.reverse(); // [3, 2, 1]
      
  3. sort(回调函数)

    • 动作排序(默认按字符串Unicode排序)。
    • 例子
      let nums = [3, 1, 2];
      nums.sort((a, b) => a - b); // [1, 2, 3](从小到大)
      
  4. reduce(回调函数, 初始值)

    • 动作:从左到右累计计算(比如求和)。
    • 例子
      let sum = [1, 2, 3].reduce((total, num) => total + num, 0); // 6
      

总结表格

方法作用是否修改原数组返回值
push末尾添加元素✔️新长度
pop移除末尾元素✔️被移除的元素
unshift开头添加元素✔️新长度
shift移除开头元素✔️被移除的元素
splice删除/替换元素✔️被删除的元素数组
map加工每个元素,返回新数组新数组
filter过滤符合条件的元素新数组
find找第一个符合条件的元素元素或undefined
forEach遍历执行操作undefined
slice切片新数组
concat合并数组新数组
http://www.xdnf.cn/news/2969.html

相关文章:

  • 软实时如Windows,在工业领域的弊端
  • Game Booster汉化版:一键优化,畅享游戏
  • std::functional 类是干什么用的?
  • 项目实战-飞机大战【补档】
  • 【AI面试准备】模型自动化评估
  • C++学习:六个月从基础到就业——异常处理:机制与最佳实践
  • Qt5与现代OpenGL学习(三)纹理
  • 极狐GitLab 如何使用文件导出迁移项目和群组?
  • 机器学习day4-Knn+交叉验证api练习(预测facebook签到位置)
  • QT6链接mysql数据库
  • SQL实战:04之SQL中的分组问题求解
  • 深度学习·经典模型·VisionTransformer
  • 串口通信协议
  • (004)Excel 监视窗口
  • 系统分析师-第十三、十四章
  • 算法设计:分支限界法的基础原理与应用
  • Element:Cheack多选勾选效果逻辑判断
  • 区块链最佳框架:Truffle vs Hardhat vs Brownie
  • partition_pdf 和chunk_by_title 的区别
  • package.json文件中的 ^ 和 ~
  • DOM 事件的处理通常分为三个阶段:捕获、目标、冒泡【前端示例】
  • 京东关键词与商品详情信息数据采集接口指南
  • python jupyter notebook
  • 如何搭建一个简单的文件服务器的方法
  • JavaScript学习教程,从入门到精通,jQuery快速入门指南(30)
  • 建立对人工智能(AI)的信任
  • Oracle11g——空表无法导出的问题
  • 软件分析师-第三遍-章节导图-13/14
  • 基础排序方法
  • 【C++11】新的类功能、lambda