JS数组方法some、every和find的使用详情


Posted in Javascript onOctober 05, 2021

1、some

在MDN中这样定义some()方法测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值。

简而言之就是:它对数组中的每一项进行校验,只要有一项通过了就是true

  • 它只会返回truefalse
  • 它会对数组中的每一项进行检测,千万不要在some里面进行if else操作
  • 不要在return后面写truefalsereturn后面跟的是你的条件

最近做后台管理系统遇到一个需求:弹出一个Dialog,只要这个Dialog里面的input有一个有值,就可以;否则提示至少要有一个值。

JS数组方法some、every和find的使用详情

数据结构如下,使用some

let arr = [
    { value: "apple" },
    { value: "" },
    { value: "banana" },
    { value: "orange" },
    { value: "" },
]
let res = arr.some(item=>{
    return item.value !== ""
})
console.log(res);

在这里,只要有值,res就为true,所以我们可以在restrue时进行下一步操作。

if (res) {
    console.log("数组有值");
} else {
    console.log("至少输入一个值");
}

2、every

every的使用方法和some一样。 在MDN中:every()方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。

简而言之就是:它对数组中的每一项进行校验,只要有一项不通过它就是false
注意事项与some一样。 如果要求每一个输入框中都必须有值时,

let arr2 = [
    { value: "apple" },
    { value: "" },
    { value: "banana" },
    { value: "orange" },
    { value: "er" },
]

var res2 = arr2.every(item => {
    return item.value !== ""
})
console.log(res2);

在这里,只要有一项没有值,res2就为false

if (!res2) {
    //res2为真,则走else;为假,则走if
    console.log("输入框有空值");
} else {
    console.log("输入框没空值");
    console.log("进行下步操作");
}

3、find

MDN中,find()方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined
注意:find()和上面两个不一样,它返回的是值,而且是第一个满足条件的值

let arr3 = [
    { value: "" },
    { value: "" },
    { value: "" },
    { value: "" },
    { value: "apple" },
]
var res3 = arr3.find(item => {
    return item.value !== ""
})
console.log(res3);

可以根据find的返回值是否为undefined来判断itemvalue,

if (res3) {
    //res3有值,在这里进行下一步操作。
    console.log("数组中至少有一个值");
} else {
    //res3为undefined
    console.log("数组为空!");
}

到此这篇关于JS数组方法some、everyfind的使用详情的文章就介绍到这了,更多相关JS数组方法someeveryfind的使用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
非常不错的功能强大代码简单的管理菜单美化版
Jul 09 Javascript
javascript实现的距离现在多长时间后的一个格式化的日期
Oct 29 Javascript
javascript跑马灯悬停放大效果实现代码
Dec 12 Javascript
jQuery中hide()方法用法实例
Dec 24 Javascript
jquery实现可自动判断位置的弹出层效果代码
Oct 12 Javascript
AngularJS 中的事件详解
Jul 28 Javascript
JavaScript SHA512加密算法详细代码
Oct 06 Javascript
原生js的ajax和解决跨域的jsonp(实例讲解)
Oct 16 Javascript
JavaScript同源策略和跨域访问实例详解
Apr 03 Javascript
Vue-Router基础学习笔记(小结)
Oct 15 Javascript
使vue实现jQuery调用的两种方法
May 12 jQuery
解决vue项目本地启动时无法携带cookie的问题
Feb 06 Vue.js
8个JS的reduce使用实例和reduce操作方式
Oct 05 #Javascript
JS 4个超级实用的小技巧 提升开发效率
Oct 05 #Javascript
JavaScript实现简单拖拽效果
Sep 15 #Javascript
一小时迅速入门Mybatis之bind与多数据源支持 Java API
Sep 15 #Javascript
Javascript之datagrid查询详解
Sep 15 #Javascript
Js类的构建与继承案例详解
Sep 15 #Javascript
JavaScript 数组去重详解
Sep 15 #Javascript
You might like
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
2010/12/02 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
2017/09/01 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
javascript面向对象包装类Class封装类库剖析
2013/01/24 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
2014/09/01 Javascript
JavaScript中的Math.LN2属性用法详解
2015/06/12 Javascript
如何使用angularJs
2017/05/08 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
jQuery用户头像裁剪插件cropbox.js使用详解
2017/06/07 jQuery
JavaScript基础进阶之数组方法总结(推荐)
2017/09/04 Javascript
vue2.0安装style/css loader的方法
2018/03/14 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
详细分析vue响应式原理
2020/06/22 Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
2020/07/24 Javascript
[02:40]DOTA2殁境神蚀者 英雄基础教程
2013/11/26 DOTA
[04:44]DOTA2西游记战队视频彩蛋流出 师徒开黑巧遇林书豪
2016/08/03 DOTA
[01:02:26]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第二场 1月18日
2021/03/11 DOTA
Python实现读取目录所有文件的文件名并保存到txt文件代码
2014/11/22 Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
2016/09/18 Python
Python常用内置模块之xml模块(详解)
2017/05/23 Python
Python重新加载模块的实现方法
2018/10/16 Python
Python3.6实现带有简单界面的有道翻译小程序
2019/04/16 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
2019/12/06 Python
python实现IOU计算案例
2020/04/12 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
2020/05/13 Python
如何导出python安装的所有模块名称和版本号到文件中
2020/06/05 Python
西班牙汉普顿小姐:购买帆布鞋和太阳镜
2016/10/23 全球购物
瑞士香水购物网站:Parfumcity.ch
2017/01/14 全球购物
加拿大时装零售商:Influence U
2018/12/22 全球购物
allbeauty美国:英国在线美容店
2019/03/11 全球购物
主键(Primary Key)约束和唯一性(UNIQUE)约束的区别
2013/05/29 面试题
关于成立领导小组的通知
2015/04/23 职场文书
Redis性能监控的实现
2021/07/09 Redis
利用python实时刷新基金估值(摸鱼小工具)
2021/09/15 Python
Win11查看设备管理器
2022/04/19 数码科技
Android中View.post和Handler.post的关系
2022/06/05 Java/Android