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的gzip静态压缩方法
Jan 05 Javascript
JS操作JSON要领详细总结
Aug 25 Javascript
JQuery选择器绑定事件及修改内容的方法
Jan 23 Javascript
jquery使用remove()方法删除指定class子元素
Mar 26 Javascript
JS模仿手机端九宫格登录功能实现代码
Apr 28 Javascript
jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)
Nov 18 Javascript
jquery ui sortable拖拽后保存位置
Apr 27 jQuery
ES6新增数据结构WeakSet的用法详解
Aug 07 Javascript
JavaScript简单实现关键字文本搜索高亮显示功能示例
Jul 25 Javascript
详解使用React.memo()来优化函数组件的性能
Mar 19 Javascript
vue+element 实现商城主题开发的示例代码
Mar 26 Javascript
基于小程序请求接口wx.request封装的类axios请求
Jul 02 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批量删除数据
2007/01/18 PHP
PHP读取目录下所有文件的代码
2008/01/07 PHP
php判断数组中是否存在指定键(key)的方法
2015/03/17 PHP
PHP判断是否连接上网络的方法
2015/07/01 PHP
YII Framework框架教程之安全方案详解
2016/03/14 PHP
CI框架实现cookie登陆的方法详解
2016/05/18 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
2019/05/09 PHP
PHP的介绍以及优势详细分析
2019/09/05 PHP
php中get_object_vars()在数组的实例用法
2021/02/22 PHP
小议javascript 设计模式 推荐
2009/10/28 Javascript
JavaScript 字符串与数组转换函数[不用split与join]
2009/12/13 Javascript
firefox事件处理之自动查找event的函数(用于onclick=foo())
2010/08/05 Javascript
基于jquery的$.ajax async使用
2011/10/19 Javascript
JS中typeof与instanceof之间的区别总结
2013/11/14 Javascript
js解决弹窗问题实现班级跳转DIV示例
2014/01/06 Javascript
node.js中的console用法总结
2014/12/15 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
原生JS实现旋转木马式图片轮播插件
2016/04/25 Javascript
JavaScript 中有关数组对象的方法(详解)
2016/08/15 Javascript
总结Javascript中的隐式类型转换
2016/08/24 Javascript
Json按某个键的值进行排序
2016/12/22 Javascript
BootStrap Datetimepicker 汉化的实现代码
2017/02/10 Javascript
JS实现倒序输出的几种常用方法示例
2019/04/13 Javascript
JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】
2019/09/03 jQuery
Python黑魔法Descriptor描述符的实例解析
2016/06/02 Python
python并发2之使用asyncio处理并发
2017/12/21 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
2018/05/30 Python
Python 查找list中的某个元素的所有的下标方法
2018/06/27 Python
基于python实现语音录入识别代码实例
2020/01/17 Python
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
2020/03/30 Python
澳洲女装时尚在线:Blue Bungalow
2018/05/05 全球购物
荷兰睡眠专家:Beter Bed
2020/11/23 全球购物
工程采购员岗位职责
2014/03/09 职场文书
护理专业自荐书
2014/06/04 职场文书
pytorch通过训练结果的复现设置随机种子
2021/06/01 Python
教你使用vscode 搭建react-native开发环境
2021/07/07 Javascript