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

Vue操作数组的几种常用方法(map、filter、forEach、find 和 findIndex 、some 和 every)

一、map方法 (返回一个新的数组 新数组中的元素是经过map函数内部代码块处理过的数据)


代码示例:

testMap() {
        let array = [1, 2, 3, 4];
        let newArray = array.map(item=>{
        return item += 1;
        });
        console.log(newArray);
    }

结果:

在这里插入图片描述
 

注意点:map函数内部必须要有return 将数据返回 否则默认返回 undefined
如果不加 return 如下:
代码示例:

testMap() {
        let array = [1, 2, 3, 4];
        let newArray = array.map(item=>{
        item += 1;
        });
        console.log(newArray);
    }

结果:

在这里插入图片描述
还有种省略写法 箭头函数省略return (不推荐这种写法)
代码示例:

testMap() {
        let array = [1, 2, 3, 4];
        let newArray = array.map(item=> item += 1 );
        console.log(newArray);
    }

结果:

在这里插入图片描述

 可以看到和第一种带return的相比 item=>{return item += 1; }
少了大括号 和 return 即 item=> item += 1
不推荐这种省略写法

二、filter方法 (返回 符合过滤条件的元素组成的新数组)


代码示例:

testFilter() {
        let array = [1, 2, 3, 4];
        let newArray = array.filter(item=>{
        return item > 2 ;
        });
        console.log(newArray);

结果:

在这里插入图片描述

 类似于map函数 也需要有返回值 否则会返回一个空数组
例:

testFilter() {
	let array = [1, 2, 3, 4];
	let newArray = array.filter(item=>{
	item > 2 ;
	});
	console.log(newArray);
}

结果:
在这里插入图片描述

三、forEach方法 (无返回值 遍历数组的每一个元素 适用于不处理数组下标或者不需要使用break的情况)

代码示例:

结果:
在这里插入图片描述

注意 改变item值 并不会改变原数组中的元素值

例如:

testForEach() {
		let array = [1, 2, 3, 4];
		array.forEach(item => {
		item = item +1;
		});
		console.log(array);
}

结果:
在这里插入图片描述

并且forEach函数内 不支持 continue 和 break 操作 (普通for 循环支持这两个操作)

直接语法校验不通过

在这里插入图片描述
在这里插入图片描述

 如果想在forEach中使用 continue 操作 可以 使用return 即可 (注意这里的return 功能和 continue一样 是结束本次循环开始下一次循环)

testForEach() {
		let array = [1, 2, 3, 4];
		let newArray = [];
		array.forEach(item => {
		if(item ===2 ){
		return;
		}
		newArray.push(item);
		});
		console.log(newArray);
}

结果:
在这里插入图片描述

四、find方法 (返回符合条件的第一个元素 如果没有符合条件的 返回undefined) findIndex方法(返回符合条件的第一个元素位置 如果没有符合条件的返回 -1) 

 testFindAndFindIndex() {
	let array = [1, 2, 3, 4];
	
	let item1 = array.find(item=> item > 3);
	console.log(item1);
	
	let index1 = array.findIndex(item=> item > 3);
	console.log(index1);
	
	let item2 = array.find(item=> item > 4);
	console.log(item2);
	
	let index2 = array.findIndex(item=> item > 4);
	console.log(index2);
}

结果:
在这里插入图片描述

五、some方法 (如果有任何一个符合条件的元素 返回true 否则返回fasle) every方法(所有元素都符合条件才返回true 否则返回false)

代码示例:

testSomeAndEvery() {
	let array = [1, 2, 3, 4];
	
	let flagSome = array.some(item=> item > 3);
	console.log(flagSome);
	
	let indexEvery = array.every(item=> item > 3);
	console.log(indexEvery);

}

结果:
在这里插入图片描述

相关文章:

  • 【Docker】傻瓜式开发
  • <数据结构> - 数据结构在算法比赛中的应用(上)
  • python中的函数和类的区别
  • 【计算机网络】UDP/TCP协议
  • python并发编程 多线程/多进程/协程
  • 【web-攻击用户】(9.5)同源策略:与浏览器扩展、HTML5、通过代理服务应用程序跨域
  • 大数据——Spark-SQL自定义函数UDF、UDAF、UDTF
  • 浅浅的 Cmake
  • 【JavaScript 进阶教程】函数的定义 调用 及 this指向问题
  • 14天刷爆LeetCode算法学习计划——Day02双指针(1)
  • 存储过程浅入深出
  • 一零二四、pyspark在jupyter中的完美运行
  • Nginx监控模块
  • mybatis的test坑(不等于‘‘ 且 不等于0)
  • 使用IDEA快速部署到Docker云端
  • JS 中的深拷贝与浅拷贝
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • 5、React组件事件详解
  • ES6系统学习----从Apollo Client看解构赋值
  • Git学习与使用心得(1)—— 初始化
  • JAVA 学习IO流
  • Spring Cloud Feign的两种使用姿势
  • Yii源码解读-服务定位器(Service Locator)
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 二维平面内的碰撞检测【一】
  • 关于springcloud Gateway中的限流
  • 聊聊redis的数据结构的应用
  • 数据科学 第 3 章 11 字符串处理
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • ionic异常记录
  • Java数据解析之JSON
  • 如何在招聘中考核.NET架构师
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (5)STL算法之复制
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (Oracle)SQL优化技巧(一):分页查询
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (一)Java算法:二分查找
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)详解PHP处理密码的几种方式
  • (转载)Linux 多线程条件变量同步
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .jks文件(JAVA KeyStore)
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .NET企业级应用架构设计系列之结尾篇
  • .NET中的Exception处理(C#)
  • @ModelAttribute注解使用
  • [AX]AX2012开发新特性-禁止表或者表字段