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 相关文章推荐
JQuery扩展插件Validate—6 radio、checkbox、select的验证
Sep 05 Javascript
JavaScript闭包详解
Feb 02 Javascript
JS实现可缩放、拖动、关闭和最小化的浮动窗口完整实例
Mar 04 Javascript
JS弹出窗口插件zDialog简单用法示例
Jun 12 Javascript
基于Bootstrap实现下拉菜单项和表单导航条(两个菜单项,一个下拉菜单和登录表单导航条)
Jul 22 Javascript
js 动态生成json对象、时时更新json对象的方法
Dec 02 Javascript
微信小程序下拉刷新界面的实现
Sep 28 Javascript
vue项目base64字符串转图片的实现代码
Jul 13 Javascript
vue  directive定义全局和局部指令及指令简写
Nov 20 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
Sep 05 Javascript
JavaScript闭包相关知识解析
Oct 19 Javascript
小程序分享链接onShareAppMessage的具体用法
May 22 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中几种常见安全设置详解
2010/04/06 PHP
PHP $_FILES中error返回值详解
2014/01/30 PHP
ThinkPHP3.1查询语言详解
2014/06/19 PHP
抛弃 PHP 代价太高
2016/04/26 PHP
/etc/php-fpm.d/www.conf 配置注意事项
2017/02/04 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
PHP实现字符串大小写转函数的功能实例
2019/02/06 PHP
javascript对象的property和prototype是这样一种关系
2007/03/24 Javascript
用javascript实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
2007/04/20 Javascript
js停止输出代码
2008/07/20 Javascript
输入自动提示搜索提示功能的javascript:sugggestion.js
2013/09/02 Javascript
javascript:void(0)是什么意思示例介绍
2013/11/17 Javascript
JavaScript—window对象使用示例
2013/12/09 Javascript
js函数在frame中的相互调用详解
2014/03/03 Javascript
Node.js模拟浏览器文件上传示例
2014/03/26 Javascript
Javascript 绘制 sin 曲线过程附图
2014/08/21 Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
2015/10/10 Javascript
通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
2015/10/23 Javascript
js实现兼容IE、Firefox的图片缩放代码
2015/12/08 Javascript
如何判断Javascript对象是否存在的简单实例
2016/05/18 Javascript
[16:04]DOTA2海涛带你玩炸弹 9月5日更新内容详解
2014/09/05 DOTA
下载给定网页上图片的方法
2014/02/18 Python
Python实现Linux下守护进程的编写方法
2014/08/22 Python
Python实现的简单发送邮件脚本分享
2014/11/07 Python
在Python的Flask框架中实现全文搜索功能
2015/04/20 Python
使用 Python 实现微信公众号粉丝迁移流程
2018/01/03 Python
Django2.1.3 中间件使用详解
2018/11/26 Python
浅谈Pycharm调用同级目录下的py脚本bug
2018/12/03 Python
python实现列表的排序方法分享
2019/07/01 Python
Python reques接口测试框架实现代码
2020/07/28 Python
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
物业门卫岗位职责
2013/12/28 职场文书
授权收款委托书范本
2014/10/10 职场文书
六一儿童节新闻稿
2015/07/17 职场文书
2016党员学习《反对自由主义》心得体会
2016/01/22 职场文书
OpenCV-Python使用cv2实现傅里叶变换
2021/06/09 Python