1. 程式人生 > 其它 >Lodash常用的api:

Lodash常用的api:

經常會用到的lodash中的api
1.刪除
_.omit(object, [props])
引數:

  1. object (Object): 來源物件。
  2. [props] (...(string|string[])): 要被忽略的屬性。(注:單獨指定或指定在陣列中。)
    返回值:
    (Object): 返回新物件。
var object = { 'a': 1, 'b': '2', 'c': 3 };
_.omit(object, ['a', 'c']);
// => { 'b': '2' }

2.深比較----(執行深比較來確定兩者的值是否相等。)
_.isEqual(value, other)
引數:

  1. value (*): 用來比較的值。
  2. other (*): 另一個用來比較的值。
    返回值:
    (boolean): 如果 兩個值完全相同,那麼返回 true,否則返回 false。
var object = { 'a': 1 };
var other = { 'a': 1 };
 
_.isEqual(object, other);
// => true
 
object === other;
// => false

3.根據 object物件的path路徑獲取值。 如果解析 value 是 undefined 會以 defaultValue 取代。
_.get(object, path, [defaultValue])


引數:

  1. object (Object): 要檢索的物件。
  2. path (Array|string): 要獲取屬性的路徑。
  3. [defaultValue] (): 如果解析值是 undefined ,這值會被返回。
    返回值:
    (
    ): 返回解析的值。
var object = { 'a': [{ 'b': { 'c': 3 } }] };
 
_.get(object, 'a[0].b.c');
// => 3
 
_.get(object, ['a', '0', 'b', 'c']);
// => 3
 
_.get(object, 'a.b.c', 'default');
// => 'default'

4.深拷貝---(深複製)
_.cloneDeep(value)--------這個方法類似_.clone,除了它會遞迴拷貝 value
引數:

  1. value (): 要深拷貝的值。
    返回值:
    (
    ): 返回拷貝後的值。
var objects = [{ 'a': 1 }, { 'b': 2 }];
 
var deep = _.cloneDeep(objects);
console.log(deep[0] === objects[0]);
// => false