當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


underscore.js where()用法及代碼示例


Underscore.js是一個JavaScript庫,提供了許多有用的函數,即使在不使用任何內置對象的情況下,也可以極大地幫助您進行編程,例如映射,過濾,調用等。
_.where()函數用於查找與搜索條件匹配的所有元素。假設找到班級的所有學生詳細信息,然後將_.where()函數應用於所有部分的列表,並通過條件作為部分名稱。因此,將顯示該特定部分的所有學生的姓名。

用法:

_.every( list, [predicate], [context] )

參數:此函數接受上述和以下所述的三個參數:


  • List:此參數用於保存數據列表。
  • Predicate:此參數用於保存測試條件。
  • Context:需要顯示的文字。

返回值:此函數返回一個數組,其中包含與給定條件匹配的所有元素及其完整詳細信息。

_.findWhere()和_.where()函數之間的區別:兩個函數都使用數組名稱和要匹配的屬性,但_.where()函數顯示所有匹配項,而_.findWhere)函數僅匹配第一個匹配項。

將數組傳遞給_.where()函數:._where()函數從列表中一個接一個地獲取元素,並在元素詳細信息上匹配指定條件。它將檢查在“ hasLong”屬性中具有“ true”的元素。遍曆並檢查所有元素後,_。where()函數結束。將顯示具有此屬性的所有元素的數組。

例:

<html> 
    <head> 
        <title>_.contains() function</title> 
        <script type="text/javascript" src= 
        "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" > 
        </script> 
        <script type="text/javascript" src= 
        "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore.js"> 
        </script> 
    </head>        
    <body> 
        <script type="text/javascript"> 
            var people = [ 
                {"name": "sakshi", "hasLong": "false"}, 
                {"name": "aishwarya", "hasLong": "true"}, 
                {"name": "akansha", "hasLong": "true"}, 
                {"name": "preeti", "hasLong": "true"} 
            ] 
         console.log(_.where(people, {hasLong: "true"})); 
        </script> 
    </body>  
</html>

輸出:

將具有多個屬性的元素列表傳遞給_.where()函數:首先,聲明帶有每個提到的元素的所有屬性的整個列表,然後根據需要與元素匹配的屬性將數組名與屬性一起傳遞_.where()函數。它將遍曆整個列表並顯示與給定條件匹配的所有元素的詳細信息。

例:

<html> 
    <head> 
        <title>_.contains() function</title> 
        <script type="text/javascript" src= 
        "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" > 
        </script> 
        <script type="text/javascript" src= 
        "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore.js"> 
        </script> 
    </head>        
    <body> 
        <script type="text/javascript"> 
            var goal  = [ 
                { 
                    "category" : "education", 
                    "title" : "harry University", 
                    "value" : 50000, 
                    "id":"1" 
                }, 
                { 
                    "category" : "traveling", 
                    "title" : "tommy University", 
                    "value" : 50000, 
                    "id":"2" 
                }, 
                { 
                    "category" : "education", 
                    "title" : "jerry University", 
                    "value" : 50000, 
                    "id":"3" 
                }, 
                {    
                    "category" : "business", 
                    "title" : "Charlie University", 
                    "value" : 50000, 
                    "id":"4" 
                } 
            ] 
            console.log(_.where(goal, {category: "education"})); 
        </script> 
    </body> 
</html>

輸出:

將具有數字作為其屬性之一的數組傳遞給_.where()函數:聲明該數組(此處的數組為“用戶”),然後選擇一個需要檢查的條件,例如“ id”,其詳細信息帶有數字,最後進行控製台。記錄最終答案。最終輸出將包含所有匹配的元素。

例:

<html> 
    <head> 
        <title>_.contains() function</title> 
        <script type="text/javascript" src= 
        "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" > 
        </script> 
        <script type="text/javascript" src= 
        "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore.js"> 
        </script> 
    </head>        
    <body> 
        <script type="text/javascript"> 
             var users = [{id: 1, name: "harry"}, 
                          {id: 2, name: "jerry"},  
                          {id: 2, name: "jack"}]; 
            console.log(_.where(users, {id:2})); 
        </script> 
    </body> 
</html>

輸出:

_.where()函數用作_.findWhere()函數:在某些情況下,_。where()函數也可以用作_.findWhere()函數。就像數組中隻有一個這樣的元素匹配給定條件一樣。如此處所示,輸出將是僅包含一個元素的數組。

例:

<html> 
    <head> 
        <title>_.contains() function</title> 
        <script type="text/javascript" src= 
        "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" > 
        </script> 
        <script type="text/javascript" src= 
        "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore.js"> 
        </script> 
    </head>        
    <body> 
        <script type="text/javascript"> 
            var studentArray=[ 
                {name:"Sam", score:34}, 
                {name:"Johny", score:31}, 
                {name:"Smithy", score:23}, 
                {name:"Rahul", score:39}, 
            ]; 
        console.log("student with score 23: ", _.where(studentArray, { 'score': 23 })); 
        </script> 
    </body> 
</html>

輸出:



相關用法


注:本文由純淨天空篩選整理自Sakshi98大神的英文原創作品 Underscore.js | where() with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。