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 相关文章推荐
调用DOM对象的focus使文本框获得焦点
Feb 19 Javascript
javascript跨域原因以及解决方案分享
Apr 08 Javascript
jquery插件qrcode在线生成二维码
Apr 26 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
May 15 Javascript
浅谈javascript中的call、apply、bind
Mar 06 Javascript
prototype.js常用函数详解
Jun 18 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
Jul 07 Javascript
AngularJS基础 ng-keyup 指令简单示例
Aug 02 Javascript
使用JS轻松实现ionic调用键盘搜索功能(超实用)
Sep 06 Javascript
js实现打地鼠小游戏
Feb 13 Javascript
jQuery实现页面倒计时并刷新效果
Mar 13 Javascript
判断颜色是否合法的正则表达式(详解)
May 03 Javascript
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错误抑制符(@)导致引用传参失败Bug的分析
2011/05/02 PHP
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
2012/07/31 PHP
php使用Cookie控制访问授权的方法
2015/01/21 PHP
PHP在innodb引擎下快速代建全文搜索功能简明教程【基于xunsearch】
2016/10/14 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
Thinkphp 框架扩展之类库扩展操作详解
2020/04/23 PHP
php中用unset销毁变量并释放内存
2020/05/10 PHP
xml转json的js代码
2012/08/28 Javascript
js时间日期和毫秒的相互转换
2013/02/22 Javascript
基于jQuery实现模拟页面加载进度条
2013/04/01 Javascript
jquery实现图片裁剪思路及实现
2013/08/16 Javascript
使用javascript实现ListBox左右全选,单选,多选,全请
2013/11/07 Javascript
js插件方式打开pdf文件(浏览器pdf插件分享)
2013/12/20 Javascript
模拟javascript中的sort排序(简单实例)
2016/08/17 Javascript
jquery+Jscex打造游戏力度条
2020/09/12 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
2016/11/07 Javascript
jQuery手指滑动轮播效果
2016/12/22 Javascript
三种方式实现瀑布流布局
2017/02/10 Javascript
JavaScript验证知识整理
2017/03/24 Javascript
vue.js 实现点击按钮动态添加li的方法
2018/09/07 Javascript
python获取标准北京时间的方法
2015/03/24 Python
python中的随机函数random的用法示例
2018/01/27 Python
Python爬虫之pandas基本安装与使用方法示例
2018/08/08 Python
Python中利用aiohttp制作异步爬虫及简单应用
2018/11/29 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
2020/01/15 Python
澳大利亚个性化儿童礼品网站:Bright Star Kids
2019/06/14 全球购物
说说在weblogic中开发消息Bean时的persistent与non-persisten的差别
2013/04/07 面试题
父亲八十大寿答谢词
2014/01/23 职场文书
关于青春的演讲稿三分钟
2014/08/22 职场文书
2014年城市管理工作总结
2014/12/02 职场文书
销售经理岗位职责
2015/01/31 职场文书
公司新员工欢迎词
2015/09/30 职场文书
家长必看:义务教育,不得以面试 评测等名义选拔学生
2019/07/09 职场文书
当你焦虑迷茫时,请读读这6句话
2019/07/24 职场文书
springboot + mongodb 通过经纬度坐标匹配平面区域的方法
2021/11/01 MongoDB
win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法
2022/06/25 Servers