经常会用到的lodash中的api
1.删除
_.omit(object, [props])
参数:
- object (Object): 来源对象。
- [props] (...(string|string[])): 要被忽略的属性。(注:单独指定或指定在数组中。)
返回值:
(Object): 返回新对象。
var object = { 'a': 1, 'b': '2', 'c': 3 };
_.omit(object, ['a', 'c']);
// => { 'b': '2' }
2.深比较----(执行深比较来确定两者的值是否相等。)
_.isEqual(value, other)
参数:
- value (*): 用来比较的值。
- 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])
参数:
- object (Object): 要检索的对象。
- path (Array|string): 要获取属性的路径。
- [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
参数:
- value (): 要深拷贝的值。
返回值:
(): 返回拷贝后的值。
var objects = [{ 'a': 1 }, { 'b': 2 }];
var deep = _.cloneDeep(objects);
console.log(deep[0] === objects[0]);
// => false