前端基础学习

数组之every和some方法

2020-03-16  本文已影响0人  小雪洁
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>every与some方法</title>
    </head>
    <body>
        <input name="title"/>
        <span></span>
    </body>
    <script>
        //arr.every()方法,判断元素全部满足某个条件,
        //有一个不满足返回false,不在继续遍历剩余元素
        //注意function(){}内部返回判别的表达式,返回false或true
        const users=[
            {name:"hxj",age:30},
            {name:"ydc",age:28},
            {name:"hwx",age:34}
        ];
        //arr.every(function(item,index,arr){}),
        //要判断元素每个值是否符合要求,必须在function里最后返回return 判断表达式;
        //否则every()内部的函数只执行一次就返回了false,
        let res=users.every(function(item,index,arr){
            //console.log(item);//{name: "hxj", age: 30}
            return false;//返回false时,只打印第一个元素,
            //return true;//返回true时,打印所有元素
        });
        //console.log(res);//false
        
        let res1=users.every(function(item,index,arr){
            return item.age>=30;
            //只要遇到有一个不满足条件的就返回false,不在继续执行
        });
            res1?console.log("全部30岁以上"):console.log("有不满30岁的");
        
        //arr.some(function(item,index,arr){})
        //some()函数内只要有一个返回true就不再继续遍历元素了,返回true
        let res2=users.some(function(item,index,arr){
            console.log(item);
            //return false; //返回false时,打印全部
            return true;//返回true时,只打印第一个
        });
        //console.log(res2);//true
        let res3=users.some(function(item,index,arr){
            console.log(item); //只输出一次{name: "hxj", age: 30}
            return item.age>=30;
        });
        console.log(res3); //即返回true
        //实现用户输入表单,键盘抬起时监听输入的内容是否包含php或者js
        let keywords=["php","js"];
        let title = document.querySelector('[name="title"]');
        let span=document.querySelector("span");
        title.addEventListener("keyup",function(){
            let _this=this;
            let res=keywords.some(function(item){
                return _this.value.includes(item);
            });
            /* if(res){
                span.innerHTML="";
            }else{
                span.innerHTML=`必须包含${keywords.join(",")}关键词`;
            } */
            span.innerHTML=(res?"":`必须包含${keywords.join(",")}关键词`);
        })
    </script>
</html>

上一篇下一篇

猜你喜欢

热点阅读