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

javaScript中数组常用的函数方法

1.遍历数组

1.1forEach函数,会遍历数组中的每一个元素,执行函数,但没有返回值。

const fruits = ['apple', 'banana', 'orange'];fruits.forEach(function(fruit) {console.log(fruit);
});
// 输出:
// "apple"
// "banana"
// "orange"

1.2map函数,他和forEach函数唯一不同的地方就是它会返回一个新数组,且新数组和原数组是一一映射的关系,我们在实例中用它来得到需要的数组。操作简洁。

const newArr = arr.map(function(currentValue, index, array) {return modifiedValue;
})

1.3filter函数筛选函数,它返回一个新的数组,包含通过所提供函数测试的所有元素,如果没有函数通过测试则返回空数组。为了使程序看起来更简洁,在写筛选函数时我们一般用箭头函数,而这个筛选的范围特别打,我们ji可以筛选一个数的大小,也可以筛选字符串长度,也可以筛选一个对象里面的某一个条件。

const users = [{ id: 1, name: 'John', age: 25 },{ id: 2, name: 'Jane', age: 30 },{ id: 3, name: 'Bob', age: 20 }
];const adults = users.filter(user => user.age >= 25);
// adults: [{ id: 1, name: 'John', age: 25 }, { id: 2, name: 'Jane', age: 30 }]

2.增加/删除元素

2.1 push函数数组末尾增加元素,返回新长度

2.2 pop函数数组 末尾删除元素,返回被删除的元素

2.3 unshift数组开头增加元素返回数组新长度

2.4 shift数组开头删除元素,返回被删除的元素

2.5 splice函数是一个功能强大的函数,它不仅可以移除数组元素还可以增加数组元素,且不修改原数组,他的语法是:数组.splice(要开始移除的数组的索引号,要移除的个数,要增加的元素)

如果运用巧妙可以给我们开发节省好多代码

const myFish = ["angel", "clown", "trumpet", "sturgeon"];
const removed = myFish.splice(0, 2, "parrot", "anemone", "blue");// myFish 是 ["parrot", "anemone", "blue", "trumpet", "sturgeon"]
// removed 是 ["angel", "clown"]
const myFish = ["parrot", "anemone", "blue", "trumpet", "sturgeon"];
const removed = myFish.splice(2, 2);// myFish 是 ["parrot", "anemone", "sturgeon"]
// removed 是 ["blue", "trumpet"]

这些就是写代码以及算法题时会经常用到的一些代码,有些是新出现的网课并未提及,尤其是splice的增加元素功能,需要我们记住。

http://www.lryc.cn/news/590931.html

相关文章:

  • 【Java开发日记】我们来说说 LockSupport 的 park 和 unpark
  • python Flask 框架入门
  • stack,queue,priority_queue的模拟实现及常用接口
  • 从AWS MySQL数据库下载备份到S3的完整解决方案
  • istio如何自定义重试状态码
  • NLP——迁移学习
  • pytorch学习笔记(五)-- 计算机视觉的迁移学习
  • 浅探C语言的回调函数(Callback Function)
  • 要实现在调用  driver.get()  后立即阻止页面自动跳转到 Azure 登录页,可通过以下几种方法实现:
  • AWS Lambda 最佳实践:构建高效无服务器应用的完整指南
  • Kubernetes ConfigMap 深度指南
  • 大模型Agent应用开发实战:从框架选型到行业落地
  • ros2 标定相机
  • 三轴云台之测距算法篇
  • 《C++初阶之STL》【auto关键字 + 范围for循环 + 迭代器】
  • 【Dv3Admin】菜单管理集成阿里巴巴自定义矢量图标库
  • 大型语言模型(LLM)在网络安全中最具商业价值的应用场景(Grok3 回答 DeepSearch模式)
  • Python包测试全攻略:从单元测试到持续集成
  • sqli-labs靶场通关笔记:第24关 二次注入
  • LiteSQL:让C++与数据库无缝对接的ORM利器
  • 河南萌新联赛2025第一场-河南工业大学
  • Redis面试相关问题总结
  • string + 栈 bitset 可达性统计(拓扑排序)
  • Redis深度解析:从缓存原理到高并发实战
  • Go语言高并发聊天室(三):性能优化与压力测试
  • 防火墙准入与拦截技术文档
  • Qt初阶开发:QMediaPlayer的介绍和使用
  • 杭州卓健信息科技有限公司 Java 面经
  • iOS App 电池消耗管理与优化 提升用户体验的完整指南
  • 暑期算法训练.3