zoukankan      html  css  js  c++  java
  • 处理集合_使用every和some方法测试数组

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>使用ForEach方法</title>
        <script src="../unitl/test.js"></script>
        <style>
            #results li.pass {color:green;}
            #results li.fail {color:red;}
        </style>
    
    
    </head>
    
    <body>
        <ul id="results"></ul>
    
    </body>
    
    <script>
    
    
        const ninjas = [
            {name:"Yagyu",weapon:"shuriken"},
            {name:"Yoshi"},
            {name:"Kuma",weapon:"wakizashi"}
        ];
    
        /**内置的every方法接受回调函数,会对每个元素执行该回调函数。
        如果所有数组元素的回调结果都返回true时,every方法将返回true,否则返回false*/
        const allNinjasAreNamed = ninjas.every(ninja => "name" in ninja);
        const allNinjasAreArmed = ninjas.every(ninja => "weapon" in ninja);
    
    
        assert(allNinjasAreNamed, "Every ninja has a name");
        assert(!allNinjasAreArmed,"But not every ninja is armed");
    
    
        //内置的some方法接受回调函数作为参数。只要至少有意向的回调结果返回true.否则返回false。
        const someNinjasAreArmed = ninjas.some(ninja.some(ninja=>"weapon" in ninja));
        assert(someNinjasAreArmed,"But some ninjas are armed");
    
        
    
    </script>
    </html>
    
    
    

    本例子中引入的js: test.js

    在本例中显示了ninja对象集合,但无法确认每个对象的name和weapon属性。想解决这个问题,需要首先利用every方法。
    
          const allNinjaAreNamed = ninjas.every(ninja=>"name" in ninja);
    

    every方法接收回调函数,对集合中的每个ninja对象检查是否含有name属性。当且仅全部的回调函数都返回true时,every方法才返回true,否则返回false。
    有时,我们只关心数组中的部分元素是否满足某些条件。这个,可以使用some方法:

          var someNinjasAreArmed = ninjas.some(ninja=>"weapon" in ninja);
    

    some方法从数组的第1项开始执行回调函数,直到回调函数函数返回true。如果有一项元素执行回调函数时,返回true,some方法返回true,否则some方法返回false。

  • 相关阅读:
    Spacemacs配置yasnippe插件
    设置SSH只允许指定IP才能访问
    firewall的规则设置与命令(白名单设置)
    Docker存储驱动介绍
    elasticsearch启动常见错误
    ES系列:解决Exception in thread “main” java.nio.file.AccessDeniedException: /usr/local/elasticsearch
    ELK6.3.2搭建配置文件篇(filebeat版)
    Linux:sudo,没有找到有效的 sudoers 资源。
    Filebeat安装及使用
    elk + filebeat,6.3.2版本简单搭建,实现我们自己的集中式日志系统
  • 原文地址:https://www.cnblogs.com/jamal/p/14074772.html
Copyright © 2011-2022 走看看