您当前的位置:首页 > 网站建设 > javascript
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery | 小程序 |

JS数组方法some、every和find的使用详情

51自学网 2022-02-21 13:40:38
  javascript

1、some

在MDN中这样定义some()方法测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值。

简而言之就是:它对数组中的每一项进行校验,只要有一项通过了就是true

  • 它只会返回truefalse
  • 它会对数组中的每一项进行检测,千万不要在some里面进行if else操作
  • 不要在return后面写truefalsereturn后面跟的是你的条件

最近做后台管理系统遇到一个需求:弹出一个Dialog,只要这个Dialog里面的input有一个有值,就可以;否则提示至少要有一个值。

数据结构如下,使用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的使用内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


下载地址:
vue实现页面打印自动分页的两种方法
vue调取电脑摄像头实现拍照功能
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。