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 相关文章推荐
滚动经典最新话题[prototype框架]下编写
Oct 03 Javascript
AlertBox 弹出层信息提示框效果实现步骤
Oct 11 Javascript
如何获取网站icon有哪些可行的方法
Jun 05 Javascript
两种方法实现在HTML页面加载完毕后运行某个js
Jun 16 Javascript
浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
Nov 12 Javascript
深入分析原生JavaScript事件
Dec 29 Javascript
微信小程序 详解Page中data数据操作和函数调用
Jan 12 Javascript
AngularJS表单验证功能
Oct 19 Javascript
angular使用md5,CryptoJS des加密的方法
Jun 03 Javascript
Vue退出登录时清空缓存的实现
Nov 12 Javascript
纯js+css实现仿移动端淘宝网站的弹出详情框功能
Dec 29 Javascript
js实现上传按钮并显示缩略图小轮子
May 04 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
hessian 在PHP中的使用介绍
2010/12/13 PHP
PHP 文本文章分页代码 按标记或长度(不涉及数据库)
2012/06/07 PHP
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
2013/11/14 PHP
CentOS下PHP安装Oracle扩展
2015/02/15 PHP
php倒计时出现-0情况的解决方法
2016/07/28 PHP
判断对象是否Window的实现代码
2012/01/10 Javascript
网站如何做到完全不需要jQuery也可以满足简单需求
2013/06/27 Javascript
javascript实现滑动解锁功能
2014/12/31 Javascript
微信小程序 教程之列表渲染
2016/10/18 Javascript
js cookie实现记住密码功能
2017/01/17 Javascript
Bootstrap栅格系统的使用详解
2017/10/30 Javascript
详解angularjs 学习之 scope作用域
2018/01/15 Javascript
Bootstrap 模态框自定义点击和关闭事件详解
2018/08/10 Javascript
jQuery Migrate 插件用法实例详解
2019/05/22 jQuery
独立部署小程序基于nodejs的服务器过程详解
2019/06/24 NodeJs
python列表操作使用示例分享
2014/02/21 Python
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
Python使用统计函数绘制简单图形实例代码
2019/05/15 Python
Python常用模块之requests模块用法分析
2019/05/15 Python
Pytorch 实现自定义参数层的例子
2019/08/17 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
2020/04/24 Python
Python 使用双重循环打印图形菱形操作
2020/08/09 Python
检测浏览器是否支持html5视频的代码
2013/03/28 HTML / CSS
英国户外服装品牌:Craghoppers
2019/04/25 全球购物
廉政教育心得体会
2014/01/01 职场文书
优秀的自荐信要注意哪些
2014/01/03 职场文书
大一军训感言
2014/01/09 职场文书
暑期社会实践先进个人主要事迹
2014/05/22 职场文书
2014大学生中国梦主题教育学习思想汇报
2014/09/10 职场文书
教师自我剖析材料
2014/09/29 职场文书
2014年幼儿园班级工作总结
2014/12/17 职场文书
放假通知
2015/04/14 职场文书
公积金贷款承诺书
2015/04/30 职场文书
运动会加油稿50字
2015/07/21 职场文书
人民币符号
2022/02/17 杂记
Consul在linux环境的集群部署
2022/04/08 Servers