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 相关文章推荐
为JavaScript类型增加方法的实现代码(增加功能)
Dec 29 Javascript
jquery Mobile入门—外部链接切换示例代码
Jan 08 Javascript
原生js做的手风琴效果的导航菜单
Nov 08 Javascript
jquery validate.js表单验证入门实例(附源码)
Nov 10 Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
Dec 31 Javascript
非常棒的jQuery图片轮播效果
Apr 17 Javascript
完美JQuery图片切换效果的简单实现
Jul 21 Javascript
AngularJS 依赖注入详解和简单实例
Jul 28 Javascript
Bootstrap导航条鼠标悬停下拉菜单
Jan 04 Javascript
jQuery实现对网页节点的增删改查功能示例
Sep 18 jQuery
Vue使用轮询定时发送请求代码
Aug 10 Javascript
原生JavaScript实现弹幕组件的示例代码
Oct 12 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 批量删除数据的方法分析
2009/10/30 PHP
Smarty简单生成表单元素的方法示例
2016/05/23 PHP
Thinkphp微信公众号支付接口
2016/08/04 PHP
用 Javascript 验证表单(form)中多选框(checkbox)值
2009/09/08 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
2011/09/20 Javascript
js网页中的(运行代码)功能实现思路
2013/02/04 Javascript
js动态添加删除,后台取数据(示例代码)
2013/11/25 Javascript
js出生日期 年月日级联菜单示例代码
2014/01/10 Javascript
通过Jquery的Ajax方法读取将table转换为Json
2014/05/31 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
2014/06/23 Javascript
JavaScript中标识符提升问题
2015/06/11 Javascript
详解nodejs 文本操作模块-fs模块(一)
2016/12/22 NodeJs
js实现功能比较全面的全选和多选
2017/03/02 Javascript
详解ESLint在Vue中的使用小结
2018/10/15 Javascript
setTimeout与setInterval的区别浅析
2019/03/23 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
2019/04/20 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
2019/08/04 Javascript
在SAE上部署Python的Django框架的一些问题汇总
2015/05/30 Python
itchat和matplotlib的结合使用爬取微信信息的实例
2017/08/25 Python
python 输出所有大小写字母的方法
2019/01/02 Python
python opencv将表格图片按照表格框线分割和识别
2019/10/30 Python
Python 用turtle实现用正方形画圆的例子
2019/11/21 Python
Python如何在bool函数中取值
2020/09/21 Python
施华洛世奇英国官网:SWAROVSKI英国
2017/03/13 全球购物
美国经典刺绣和字母儿童服装特卖:Smocked Auctions
2018/07/16 全球购物
什么是lambda函数
2013/09/17 面试题
教师实习自我鉴定
2013/12/13 职场文书
体育比赛口号
2014/06/09 职场文书
2014年药店店长工作总结
2014/11/17 职场文书
2014年司机工作总结
2014/11/21 职场文书
优秀团员事迹材料
2014/12/25 职场文书
本科毕业论文致谢怎么写
2015/05/14 职场文书
小学感恩主题班会
2015/08/12 职场文书
大学宣传委员竞选稿
2015/11/19 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
Html分层的box-shadow效果的示例代码
2021/03/30 HTML / CSS