Underscore.js是一個JavaScript庫,提供了許多有用的函數,即使在不使用任何內置對象的情況下,也可以極大地幫助您進行編程,例如映射,過濾,調用等。
_.countBy()函數用於將列表分類為組,並返回每個組中對象數的計數。它通過使每個元素的值相互匹配來工作。如果它們匹配,則一個集合的計數將增加1,否則該值的另一個集合/組的計數將增加1。它也可以根據誰的結果傳遞一個函數,該函數將收集元素並增加每個組的計數。它可以根據數字和字符串進行匹配。
用法:
_.countBy(list, iteratee, [context])
參數:此函數接受上述和以下所述的三個參數:
- List:此參數用於保存項目列表。
- Iteratee:此參數用於保存測試條件。
- Context:需要顯示的文字內容。
返回值:它將集合作為不同的數組返回。
將Math.ceil()函數傳遞給_.countBy()函數:_.countBy()函數將列表中的元素一個接一個地傳遞給此處提到的另一個函數。該函數在這裏獲取每個數字的上限並返回其值。因此,數組的所有值在獲取其ceil之後都將一一計數,然後根據它們是否相同進行計數。
例:
<html>
<head>
<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">
console.log(_.countBy([2.7, 3.4, 6.6, 1.2, 2.0, 2.4],
function(num){ return Math.ceil(num); }));
</script>
</body>
</html>
輸出:
在_.countBy()函數中使用length():將數組元素傳遞給countBy()函數。然後,找出每個元素的長度,並收集相同長度的長度。最後,在左側顯示每個集合的計數以及各自的長度。
例:
<html>
<head>
<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">
console.log(_.countBy(['HTML', 'CSS3', 'JS', 'PHP'], 'length'));
</script>
</body>
</html>
輸出:
使用_.countBy()函數中傳遞的數組的一個屬性:首先聲明該數組(此處的數組為“ arr”)。選擇一個需要計算的條件,例如“ prop3”。然後,將在“ prop3”中具有相同值的元素歸為1個集合。最終結果將在左側包含prop3,在右側包含其數量。像prop3中的這裏一樣,“Geeks”將出現兩次,因此計數為2。Console.log最終答案。
例:
<html>
<head>
<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 arr = [
{prop1:"10", prop2:"07", prop3:"Geeks"},
{prop1:"12", prop2:"86", prop3:"for"},
{prop1:"11", prop2:"58", prop3:"Geeks"}
];
console.log(_.countBy(arr, 'prop3'));
</script>
</body>
</html>
輸出:
將“日期”作為數組的屬性一起傳遞給_.countBy()函數:首先,將一個屬性為“ dd-mm-yy”的數組定義為具有“屬性”的數組。然後將數組和'date'屬性傳遞給_.countBy()函數。具有相同日期的元素將被分組為一個集合,然後每組的計數將顯示在結果中。
例:
<html>
<head>
<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 orders = [
{ date:"30-60-90 Day", Name:"Kim", amount:415 },
{ date:"30-60-90 Day", Name:"Kelly", amount:175 },
{ date:"30 Day", Name:"Shelly", amount:400 },
{ date:"30 Day", Name:"Sarvesh", amount:180 }
];
console.log(_.countBy(orders, "date"));
</script>
</body>
</html>
輸出:
注意:這些命令在Google控製台或Firefox中不起作用,因為需要添加這些尚未添加的其他文件。因此,將給定的鏈接添加到您的HTML文件,然後運行它們。
<script type="text/javascript" src =
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
</script>
相關用法
- JQuery after()用法及代碼示例
- JQuery on()用法及代碼示例
- underscore.js max()用法及代碼示例
- underscore.js _.zip()用法及代碼示例
- underscore.js _.without()用法及代碼示例
- underscore.js where()用法及代碼示例
- JQuery has()用法及代碼示例
- JQuery first()用法及代碼示例
- JQuery one()用法及代碼示例
- underscore.js map()用法及代碼示例
- JQuery last()用法及代碼示例
- underscore.js min()用法及代碼示例
- JQuery val()用法及代碼示例
- JQuery eq()用法及代碼示例
- underscore.js first()用法及代碼示例
注:本文由純淨天空篩選整理自Sakshi98大神的英文原創作品 Underscore.js | countBy() with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。