摘要:按照一定規則統計數量。類似方法從右往左遍歷。如果集合的每一項都符合條件才返回。篩選符合條件的項,返回一個數組,類似原生的方法。從第位查找分別對集合的每一項調用指定方法,感覺跟的作用差不多,迭代器調用方式略有不同。
集合指(Array|Object)。
1、_.countBy(collection, [iteratee=_.identity]):按照一定規則統計數量。返回一個對象,key為迭代器運算的結果,value為匹配該結果的數量。
_.countBy(["one", "two", "three"], "length"); // => { "3": 2, "5": 1 } _.countBy([6.1, 4.2, 6.3], Math.floor); // => { "4": 1, "6": 2 }
2、_.groupBy(collection, [iteratee=_.identity]):按照一定規則進行分組,用法雷同_.countBy()。返回一個對象,key為迭代器運算的結果,value為包含所有匹配項的數組。
_.groupBy(["one", "two", "three"], "length"); // => { "3": ["one", "two"], "5": ["three"] } _.groupBy([6.1, 4.2, 6.3], Math.floor); // => { "4": [4.2], "6": [6.1, 6.3] }
3、_.forEach(collection, [iteratee=_.identity]):簡寫為_.each(),類似原生Array的forEach方法。
類似方法:
_.forEachRight(collection, [iteratee=_.identity]):從右往左遍歷。
4、_.every(collection, [predicate=_.identity]):返回一個布爾值。如果集合的每一項都符合條件才返回true。類似原生Array的every方法。
var users = [ { "user": "barney", "age": 36, "active": false }, { "user": "fred", "age": 40, "active": false } ]; _.every(users, ["active", false]); // => true _.every(users, "active"); // => false
5、_.filter(collection, [predicate=_.identity]):篩選符合條件的項,返回一個數組,類似原生Array的filter方法。
_.filter([1,2,3,4,5,6], function(o) { return o>3; }); // => [4, 5, 6]
6、_.find(collection, [predicate=_.identity], [fromIndex=0]):照出符合條件的項,返回最先匹配的項或undefined。類似原生的Array的find方法。
相似方法:
_.findLast(collection, [predicate=_.identity], [fromIndex=collection.length-1]):從后往前匹配。
7、_.flatMap(collection, [iteratee=_.identity]):按照規則擴充數組,類似原生Array的flatMap方法。
_.flatMap([1, 2], function (n) { return [n, n]; }); // => [1, 1, 2, 2]
類似方法:
_.flatMapDeep(collection, [iteratee=_.identity]):最后返回一維數組。
_.flatMapDepth(collection, [iteratee=_.identity], [depth=1]):知道返回數組的維度。
8、_.includes(collection, value, [fromIndex=0]):從集合的fromIndex開始查找,如果集合里包含value返回true,否則返回false。類似原生Array的includes方法。
_.includes([1, 2, 3], 1, 2); // => false 從第2位查找1
9、_.invokeMap(collection, path, [args]):分別對集合的每一項調用指定方法,感覺跟_.map()的作用差不多,迭代器調用方式略有不同。
_.invokeMap([[5, 1, 7], [3, 2, 1]], "sort"); // => [[1, 5, 7], [1, 2, 3]] _.invokeMap([123, 456], String.prototype.split, ""); // => [["1", "2", "3"], ["4", "5", "6"]]
類似方法:
_.map(collection, [iteratee=_.identity]):類似原生Array的map方法。
延伸:
lodash里很多方法都可以接收迭代器函數,像 _.every, _.filter, _.map, _.mapValues, _.reject, and _.some等。
10、_.keyBy(collection, [iteratee=_.identity]):按照一定規則進行分組,用法雷同_.groupBy()。返回一個對象,key為迭代器運算的結果,value為匹配迭代方法的一項,如果多個項都匹配,value則取最后一個匹配上的項。
var array = [ { "dir": "left", "code": 97 }, { "dir": "left1", "code": 97 }, { "dir": "right", "code": 100 } ]; _.keyBy(array, function(o) { return String.fromCharCode(o.code); }); // { // a : {dir: "left1", code: 97}, // d : {dir: "right", code: 100} // }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/110155.html
摘要:將一個數組按照一定的長度分割為個數組。接收一個過濾參數,將不合格的數組項刪除。將數組降維進行拉伸。返回數組的第一項。獲取數組除最后一項的所有值,相當于刪除最后一項。數組從項到項切割成一個新數組。取出數組的第項。刪除數組中符合條件的項。 1、_.chunk(array, [size]):將一個數組按照一定的長度分割為N個數組。 _.chunk([a, b, c, d], 2); ...
摘要:把插入數組時,返回其應該插入的位置。二進制比較法,并不會改版原數組。跟類似,但它對有序數組進行二叉樹查詢。照出數組中只出現次的項。獲取數組的前幾項。合并數組并去重。打包多個數組的對應項分別形成新數組。找出不包含的數組項。兩個數組的抑或操作。 1、_.sortedIndex(array, value):把value插入數組時,返回其應該插入的位置。二進制比較法,并不會改版原數組。從左向右...
摘要:作者小魚干代碼,尤其是優雅規范的代碼,一直都是學習編程技巧的捷徑。地址實時高清摳圖本周增長數論文的官方庫,由字節跳動開源。和之前的送書活動類似,留言點贊的小伙伴棒,小魚干會努力去找的 .markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflow-x:hidden;c...
摘要:以下內容摘錄自微博的及熱帖簡稱熱帖,選項標準新發布實用有趣,根據項目時間分類,發布時間不超過的項目會標注,無該標志則說明項目超過半月。特性可監控記錄的正常運行時間。服務器打包為一組微服務,用戶可使用命令輕松使用。 作者:HelloGitHub-小魚干 機械臂可能在醫療劇中看過,可以用來...
摘要:語法速覽與機器學習開發環境搭建從屬于筆者的程序猿的數據科學與機器學習實戰手冊,如果希望了解更多關于數據科學與機器學習知識體系結構,推薦閱讀我的技術體系結構圖面向程序猿的數據科學與機器學習知識體系及資料合集。 Python語法速覽與機器學習開發環境搭建從屬于筆者的程序猿的數據科學與機器學習實戰手冊,如果希望了解更多關于數據科學與機器學習知識體系結構,推薦閱讀2016:我的技術體系結構圖:...
閱讀 3283·2021-09-30 09:47
閱讀 2296·2021-09-10 10:51
閱讀 1900·2021-09-08 09:36
閱讀 2934·2019-08-30 12:56
閱讀 3036·2019-08-30 11:16
閱讀 2628·2019-08-29 16:40
閱讀 3000·2019-08-29 15:25
閱讀 1638·2019-08-29 11:02