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绝句欣赏 一些经典的js代码
Feb 22 Javascript
web基于浏览器的本地存储方法应用
Nov 27 Javascript
javascript 文件的同步加载与异步加载实现原理
Dec 13 Javascript
js简单抽奖代码
Jan 16 Javascript
jQuery中inArray方法注意事项分析
Jan 25 Javascript
BootStrap Table 分页后重新搜索问题的解决办法
Aug 08 Javascript
BootStrap无限级分类(无限极分类封装版)
Aug 26 Javascript
Vue.js结合Ueditor富文本编辑器的实例代码
Jul 11 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
Apr 03 Javascript
vue2.0页面前进刷新回退不刷新的实现方法
Jul 31 Javascript
微信小程序使用字体图标的方法
May 23 Javascript
layui点击弹框页面 表单请求的方法
Sep 21 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在线打包程序源码
2008/07/27 PHP
php通过字符串调用函数示例
2014/03/02 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
2017/11/06 PHP
PHP实现字母数字混合验证码功能
2019/07/11 PHP
浅谈PHP array_search 和 in_array 函数效率问题
2019/10/15 PHP
取消选中单选框radio的三种方式示例介绍
2013/12/23 Javascript
JS数组的赋值介绍
2014/03/10 Javascript
JS实现OCX控件的事件响应示例
2014/09/17 Javascript
JavaScript学习笔记之JS事件对象
2015/01/22 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
JavaScript 七大技巧(二)
2015/12/13 Javascript
jQuery+php实时获取及响应文本框输入内容的方法
2016/05/24 Javascript
探究Vue.js 2.0新增的虚拟DOM
2016/10/20 Javascript
JavaScript获取键盘按键的键码(参照表)
2017/01/10 Javascript
AngularJS中的拦截器实例详解
2017/04/07 Javascript
jQuery实现frame之间互通的方法
2017/06/26 jQuery
js实现控制文件拖拽并获取拖拽内容功能
2018/02/17 Javascript
vue-amap根据地址回显地图并mark的操作
2020/11/03 Javascript
python动态参数用法实例分析
2015/05/25 Python
numpy排序与集合运算用法示例
2017/12/15 Python
Python使用matplotlib实现绘制自定义图形功能示例
2018/01/18 Python
Python操作Oracle数据库的简单方法和封装类实例
2018/05/07 Python
ORM Django 终端打印 SQL 语句实现解析
2019/08/09 Python
Anaconda之conda常用命令介绍(安装、更新、删除)
2019/10/06 Python
django formset实现数据表的批量操作的示例代码
2019/12/06 Python
Python中logger日志模块详解
2020/08/04 Python
巴西备受欢迎的服装和生活方式品牌:FARM Rio
2020/02/04 全球购物
聚网科技C++面试笔试题
2015/09/01 面试题
应用化学专业本科生求职信
2013/09/29 职场文书
全陪导游欢迎词
2014/01/17 职场文书
《我的信念》教学反思
2014/02/15 职场文书
大学生学习2014全国两会心得体会
2014/03/13 职场文书
2014年乡镇党建工作总结
2014/11/11 职场文书
考试作弊检讨书怎么写?
2014/12/21 职场文书
企业财务经理岗位职责
2015/04/08 职场文书
员工聘用合同范本
2015/09/21 职场文书