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的增加元素功能,需要我们记住。

相关推荐
Cc.Y1 小时前
Java零基础入门:可变字符串与包装类:StringBuilder、StringBuffer 与 通讯录管理系统实战
java·开发语言·python
paopaokaka_luck1 小时前
基于springboot+vue的智慧家政管理系统(AI问答、 WebSocket实时沟通、ECharts运营分析、订单规则与服务追踪)
java·javascript·spring boot·数据分析·echarts·mybatis
sm_926787051 小时前
RFID 标签打印的技术实现要点与二次开发实践
java·大数据·前端·c++·编辑器
阿森_dev1 小时前
2027 届毕设选题怎么选:30 个 Java 方向选题的实现难度排序
java·开发语言·spring boot·毕业设计·课程设计
by209992 小时前
C++ 多态:同一个基类接口,调用不同的函数
开发语言·c++·经验分享·多态
笔墨登场说说2 小时前
flink bin/start-cluster.sh 帮我做成开机启动
开发语言·python
Sarvartha2 小时前
Lambda 表达式和函数式接口
java·开发语言
IMPYLH2 小时前
HTML 的 <video> 元素
前端·html
小白学大数据2 小时前
拼多多反爬对抗实战:Scrapy 中间件化采集架构解析
开发语言·scrapy·中间件·架构
溪语流沙2 小时前
【每天一个CSS | Day19】流光文字与一笔写成的手写签名
前端·javascript·css