摘要:中文文檔目前我只找到了版本,現在已經更新到了,好多文檔已經過期。而且中太多,有時候常用的幾個我總是記不住名字,在這里貼出來,方便自己和大家。原生用法直接使用的根據條件去除某個元素。
lodash中文文檔目前我只找到了3.10.x版本,現在lodash已經更新到4.17.x了,好多文檔已經過期。而且lodash中api太多,有時候常用的幾個我總是記不住名字,在這里貼出來,方便自己和大家。
原生用法直接使用的API
_.reject根據條件去除某個元素。
var foo = [ {id: 0, name: "aaa", age: 33}, {id: 1, name: "bbb", age: 25} ] var bar = _.reject(foo, ["id", 0]) //bar = [{id: 1, name: "bbb", age: 25}]_.pick
根據第二個參數的key的數組,篩選第一個參數中的值并返回
var foo = {id: 0, name: "aaa", age: 33} var bar = _.pick(foo, ["name", "age"]) //bar = {name: "aaa", age: 33}_.keys
返回object中的所有key
var foo = {id: 0, name: "aaa", age: 33} var bar = _.keys(foo) //bar = ["id", "name", "age"]_.cloneDeep
深度拷貝,這個不用多說了吧,js中基礎類型以外的類型,都會默認拷貝備份
var bar = _.cloneDeep(foo)
查找數組
var foo = [ {id: 0, name: "aaa", age: 33}, {id: 1, name: "bbb", age: 25} ] var bar = _.find(foo, ["id", 0]) //bar = {id: 0, name: "aaa", age: 33}
注意一下如果沒找到的話,會返回undefined,要處理一下
_.keyBy以某個屬性為鍵,將數組轉為對象
var foo = var foo = [ {id: 0, name: "aaa", age: 33}, {id: 1, name: "bbb", age: 25} ] var bar = _.keyBy(foo, "name") //bar = { // aaa: {id: 0, name: "aaa", age: 33}, // bbb: {id: 1, name: "bbb", age: 25} //}_.filter
根據條件過濾出符合條件的元素,返回新數組
var foo = var foo = [ {id: 0, name: "aaa", age: 33}, {id: 1, name: "bbb", age: 25} ] var bar = _.filter(foo, ["name", "aaa"]) //bar = [{id: 0, name: "aaa", age: 33}]_.map
從集合中挑出一個key,將其值作為數組返回
var foo = var foo = [ {id: 0, name: "aaa", age: 33}, {id: 1, name: "bbb", age: 25} ] var bar = _.map(foo, "name") //bar = ["aaa", "bbb"]_.max/_.min/_.sum
數組中最大值、最小值、數組求和
var foo = [1, 2, 3, 4] var bar = _.max(foo) //bar = 4 bar = _.min(foo) //bar = 1 bar = _.sum(foo) //bar = 10_.pad/_.padStart/_.padEnd
在兩端、開頭、末尾補齊字符
var foo = "helloworld" var bar = _.pad(foo, 14, "-") //bar = --helloworld-- bar = _.padStart(foo, 14, "-") //bar = ----helloworld bar = _.padEnd(foo, 14, "-") //bar = helloworld----組合用法
如果說上面是基礎技能,那么下面奉上幾個炫酷的組合技:
選出json數組中id最大的一項var foo = [ {id: 0, name: "aaa", age: 33}, {id: 1, name: "bbb", age: 25} ] var bar = _.find(foo, ["id", _.max(_.map(foo, "id"))]) // bar = {id: 1, name: "bbb", age: 25}
ps:也可以用maxBy某個key來代替
更新json數組中某一項的值var foo = [ {id: 0, name: "aaa", age: 33}, {id: 1, name: "bbb", age: 25} ] let list = _.keyBy(foo, "id") list[0].name = "ccc" var bar = _.map(list) // bar = [ // {id: 0, name: "ccc", age: 33}, // {id: 1, name: "bbb", age: 25} //]
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/82088.html
摘要:是函數柯里化的函數。例子柯里化有個常見作用參數復用構建高階函數延遲計算。是的,它其實就是柯里化的具體應用構建高階函數。這個是我認為的中最有意思的方法。不過要注意最后的。這同樣是用來組合高階函數的一個方法。 最近在學習JS函數式編程相關的內容,于是詳細的翻看了Lodash的文檔,感到別有洞天。這里把自己對一些API的使用和看法做個筆記記錄下。 Array _.head/_.last 例子...
摘要:一介紹也稱為,讀音類似,錯誤讀音,由華人尤雨溪開源并維護。隱藏四事件之前說了一些關于事件的指令,這里詳細學習一下事件的相關知識。還有一些其他鍵盤事件,具體參考官方文檔。模板就是,用來進行數據綁定,顯示在頁面中,也稱為語法。 一、Vue.js介紹 Vue.js也稱為Vue,讀音類似view,錯誤讀音v-u-e,由華人尤雨溪開源并維護。 Vue有以下特點: 是一個構建用戶界面的框架 是一...
閱讀 2219·2021-11-22 13:54
閱讀 3382·2019-08-29 12:25
閱讀 3445·2019-08-28 18:29
閱讀 3591·2019-08-26 13:40
閱讀 3280·2019-08-26 13:32
閱讀 966·2019-08-26 11:44
閱讀 2236·2019-08-23 17:04
閱讀 2978·2019-08-23 17:02