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 相关文章推荐
Exitjs获取DataView中图片文件名
Nov 26 Javascript
JavaScript汉诺塔问题解决方法
Apr 21 Javascript
快速学习AngularJs HTTP响应拦截器
Dec 31 Javascript
理解Angular数据双向绑定
Jan 10 Javascript
JavaScript开发者必备的10个Sublime Text插件
Feb 27 Javascript
原生js实现查询天气小应用
Dec 09 Javascript
用Vue.extend构建消息提示组件的方法实例
Aug 08 Javascript
微信小程序 扭蛋抽奖机css3动画实现详解
Jul 19 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
Oct 25 Javascript
VUE项目实现主题切换的多种方法
Nov 26 Vue.js
vue-router中hash模式与history模式的区别
Jun 23 Vue.js
javascript拖曳互换div的位置实现示例
Jun 28 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/08/05 PHP
PHP抓取、分析国内视频网站的视频信息工具类
2014/04/02 PHP
PHP中in_array函数使用的问题与解决办法
2016/09/11 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
2019/02/14 PHP
javascript同步Import,同步调用外部js的方法
2008/07/08 Javascript
神奇的代码 通杀各种网站-可随意修改复制页面内容
2008/07/17 Javascript
ext form 表单提交数据的方法小结
2008/08/08 Javascript
document.compatMode介绍
2009/05/21 Javascript
JavaScript 闭包深入理解(closure)
2009/05/27 Javascript
js DOM模型操作
2009/12/28 Javascript
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
jQuery JSON的解析方式分享
2011/04/05 Javascript
js仿百度有啊通栏展示效果实现代码
2013/05/28 Javascript
JavaScript 实现鼠标拖动元素实例代码
2014/02/24 Javascript
jQuery实现级联菜单效果(仿淘宝首页菜单动画)
2014/04/10 Javascript
JS实现当前页居中分页效果的方法
2015/06/18 Javascript
JS实现动态生成表格并提交表格数据向后端
2020/11/25 Javascript
实例讲解DataTables固定表格宽度(设置横向滚动条)
2017/07/11 Javascript
webpack3之loader全解析
2017/10/26 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
2019/10/25 Javascript
微信浏览器下拉黑边解决方案 wScroollFix
2020/01/21 Javascript
Python科学计算环境推荐——Anaconda
2014/06/30 Python
Django框架下在视图中使用模版的方法
2015/07/16 Python
python中bs4.BeautifulSoup的基本用法
2019/07/27 Python
python3.7将代码打包成exe程序并添加图标的方法
2019/10/11 Python
Python Sphinx使用实例及问题解决
2020/01/17 Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
2020/04/01 Python
CSS3中:nth-child和:nth-of-type的区别深入理解
2014/03/10 HTML / CSS
美国百年历史早餐食品供应商:Wolferman’s
2017/01/18 全球购物
美国领先的家庭智能音响系统品牌:Sonos
2018/07/20 全球购物
全球最大的生存食品、水和装备专用在线市场:BePrepared.com
2020/01/02 全球购物
CHARLES & KEITH加拿大官网:新加坡时尚品牌
2020/03/26 全球购物
就业自荐书
2013/12/05 职场文书
新品发布会策划方案
2014/06/08 职场文书
2019年员工旷工保证书!
2019/06/28 职场文书
python 实现图与图之间的间距调整subplots_adjust
2021/05/21 Python