1. 程式人生 > >lodash模組工作中常用操作

lodash模組工作中常用操作

1.   _.map(collections,function)

function square(n) {

  return n * n;

}

_.map([4, 8], square);

// => [16, 64]

2._.pick從某個物件中選擇部分屬性組成新的物件

var objA = {"name": "colin", "car": "suzuki", "age": 17};  

var objB = _.pick(objA, ['car', 'age']);  

/{"car": "suzuki", "age": 17}

3._.find(collection, [predicate=_.identity])

遍歷集合中的元素,返回最先經 predicate 檢查為真值的元素。 返回第一個匹配到的元素或物件

var users = [
  { 'user': 'barney',  'age': 36, 'active': true },
  { 'user': 'fred',    'age': 40, 'active': false },
  { 'user': 'pebbles', 'age': 1,  'active': true }
];

_.find(users, function(o) { return o.age < 40; });
{

4. _.isEmpty(value) 檢查值是否是一個空物件

_.isEmpty(null);

// => true      

_.isEmpty(true);

// => true

_.isEmpty(1);  如果傳入數字,最後會返回  [].length === 0。數字被當成了 

// => true

   object object 來判斷。

文件裡說了傳入的是可列舉的物件

5._.groupBy(collection, [iteratee=_.identity])

返回一個組成彙總的物件

_.groupBy([6.1, 4.2, 6.3], Math.floor);
// => { '4': [4.2], '6': [6.1, 6.3] }

// 使用了 `_.property` 的回撥結果
_.
groupBy(['one', 'two', 'three'], 'length'); // => { '3': ['one', 'two'], '5': ['three'] }

6._.includes(collection,value,[fromindex=0]

檢查 value(值) 是否在 collection(集合) 中。如果 collection(集合)是一個字串,那麼檢查 value(值,子字串) 是否在字串中  如果指定 fromIndex 是負數,那麼從 collection(集合) 的結尾開始檢索

  1. collection (Array|Object|string): 要檢索的集合。
  2. value (*): 要檢索的值。
  3. [fromIndex=0] (number): 要檢索的 索引位置。        

7.

_.orderBy排序
_.orderBy(_.filter(results, item => !_.isEmpty(item) && item.state === 1), ['createTime'], ['desc'])
先過濾掉results不等於空的物件和狀態為1的在根據建立時間排序
8._.random   在指定範圍內獲取一個隨機值
_.random(20); // 返回 0 到 20的隨機數
_.random(15, 20, true); // 返回 15 到 20的浮點型隨機數;
9.
_.assign擴充套件物件
var objA = {"name": "colin", "car": "suzuki"};
var objB = {"name": "james", "age": 17};

console.log(_.assign(objA, objB)); { name: 'james', car: 'suzuki', age: 17 }相同屬性的值會取最後一個
10 omit從物件中刪除屬性 與delete obj.屬性相同效果
  • var objA = {"name": "colin", "car": "suzuki", "age": 17};
bjA = _.omit(objA, ['car', 'age']); // {"name": "colin"}
11.
  • join: 將array中所有元素用separator 分隔符連線,返回該字串
    • _.join(['a', 'b', 'c'], '~'); // => 'a~b~c' 第二個引數如果不傳將保持原有陣列返回