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继承的实现
Oct 24 Javascript
Aptana调试javascript图解教程
Nov 30 Javascript
JQuery之拖拽插件实现代码
Apr 14 Javascript
Angular在模板驱动表单中自定义校验器的方法
Aug 09 Javascript
JavaScript 完成注册页面表单校验的实例
Aug 19 Javascript
JS实现电商放大镜效果
Aug 24 Javascript
layui select获取自定义属性方法
Aug 15 Javascript
jQuery实现参数自定义的文字跑马灯效果
Aug 15 jQuery
详解解决小程序中webview页面多层history返回问题
Aug 20 Javascript
javascript 模块依赖管理的本质深入详解
Apr 30 Javascript
浅谈vue 多个变量同时赋相同值互相影响
Aug 05 Javascript
Vue3 Composition API的使用简介
Mar 29 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
咖啡知识 咖啡养豆要养多久 排气又是什么
2021/03/06 新手入门
php下使用curl模拟用户登陆的代码
2010/09/10 PHP
php使用正则验证中文
2016/04/06 PHP
PHP 8新特性简介
2020/08/18 PHP
Jquery ajax不能解析json对象,报Invalid JSON错误的原因和解决方法
2010/03/27 Javascript
Jquery封装tab自动切换效果的具体实现
2013/07/13 Javascript
Js与下拉列表处理问题解决
2014/02/13 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
2014/03/25 Javascript
javascript动态创建表格及添加数据实例详解
2015/05/13 Javascript
JavaScript tab选项卡插件实例代码
2016/02/23 Javascript
详解处理Vue单页面应用SEO的另一种思路
2018/11/09 Javascript
在Vant的基础上封装下拉日期控件的代码示例
2018/12/05 Javascript
在Layui 的表格模板中,实现layer父页面和子页面传值交互的方法
2019/09/10 Javascript
使用Vue实现调用接口加载页面初始数据
2019/10/28 Javascript
JavaScript cookie原理及使用实例
2020/05/08 Javascript
openlayers实现地图弹窗
2020/09/25 Javascript
[05:17]DOTA2誓师:今天我们在这里 明天TI4等我!
2014/03/26 DOTA
[49:12]完美世界DOTA2联赛PWL S2 Magma vs GXR 第二场 11.29
2020/12/02 DOTA
Python中的if、else、elif语句用法简明讲解
2016/03/11 Python
Python正则表达式知识汇总
2017/09/22 Python
Python实现KNN邻近算法
2021/01/28 Python
解决DataFrame排序sort的问题
2018/06/07 Python
Python中的xlrd模块使用原理解析
2020/05/21 Python
Python生成随机验证码代码实例解析
2020/06/09 Python
python3处理word文档实例分析
2020/12/01 Python
python3代码输出嵌套式对象实例详解
2020/12/03 Python
css3 盒模型以及box-sizing属性全面了解
2016/09/20 HTML / CSS
LA MER海蓝之谜美国官网:传奇面霜
2016/08/27 全球购物
香港钟表珠宝首饰商城:OneMallTime网摩间
2016/10/14 全球购物
Mio Skincare法国官网:身体紧致及孕期身体护理
2018/04/04 全球购物
为奢侈时尚带来了慈善元素:Olivela
2018/09/29 全球购物
世界上第一个水枕头:Mediflow
2018/12/06 全球购物
人力资源经理的岗位职责范本
2014/02/28 职场文书
珍惜资源保护环境的建议书
2014/05/14 职场文书
基于Golang 高并发问题的解决方案
2021/05/08 Golang
python 解决微分方程的操作(数值解法)
2021/05/26 Python