1、_.assign(object, [sources]):物件的合併繼承(不包含原型),後面覆蓋前面的。
_.assign(,,) //
類似方法:
_.assignin(object, [sources]):一樣是合併繼承,它就連原型都一併處理了。其實就是原來的_.extend()方法。
高階方法:
_.assignwith(object, sources, [customizer]):略。
_.assigninwith(object, sources, [customizer]):略。
2、_.at(object, [paths]):取出object指定位置的值並組成乙個陣列。
var object = }, 4] };
_.at(object, ['a[0].b.c', 'a[1]']); // => [3, 4]
3、_.create(prototype, [properties]):常見乙個從原型繼承的物件,並可以新增自己的屬性。一般用於原型的繼承。
function shape()
function circle()
circle.prototype = _.create(shape.prototype, );
var circle = new circle;
circle instanceof circle; // => true
circle instanceof shape; // => true
4、_.defaults(object, [sources]):同樣是繼承合併物件,如果屬性名一樣,只保留最初的值。
類似方法:
_.defaultsdeep(object, [sources]):深合併,遇到巢狀的物件也會逐級對比合併。
_.defaults( }, });
// }
_.defaultsdeep( }, });
// }
5、_.findkey(object, [predicate=_.identity]):通過value查詢key,僅匹配第乙個查詢到的項。
var users = ,
'fred': ,
'pebbles':
};_.findkey(users, 'active'); // => 'barney'
類似方法:
_.findlastkey(object, [predicate=_.identity]):從後往前匹配。
6、_.forin(object, [iteratee=_.identity]):物件的for in 遍歷,包括原型上的屬性。
_.forinright(object, [iteratee=_.identity]):反向遍歷。
_.forown(object, [iteratee=_.identity]):僅遍歷自身屬性,不包括原型。
_.forownright(object, [iteratee=_.identity]):反向遍歷自身屬性。
function foo()
foo.prototype.c = 3;
_.forin(new foo, (value, key)=> console.log(key)); // a b c
_.forinright(new foo, (value, key)=> console.log(key)); // c b a
_.forown(new foo, (value, key)=> console.log(key)); // a b
_.forownright(new foo, (value, key)=> console.log(key)); // b a
7、_.functions(object):返回物件下可列舉的方法名稱組成的陣列,通過原型繼承的不算。
_.functionsin(object):同上,通過原型繼承的也算。
function foo() ;
this.b = function(){};
}foo.prototype.c = function(){};
_.functions(new foo); // => ['a', 'b']
_.functionsin(new foo); // => ['a', 'b', 'c']
8、_.get(object, path, [defaultvalue]):獲取objdect指定路徑的值,如果undefined就返回de****tvalue。這個功能感覺有點雞肋。
9、_.has(object, path):檢查 path 是否是object物件的直接屬性。
_.**hasin**(object, path):
var object = };
var other = _.create() });
_.has(object, 'a.b'); // => true
_.has(other, 'a'); // => false
_.hasin(other, 'a'); // => true
10、_.invert(object):這個挺有趣的,把object的key和value對調。
_.**invertby**(object, [iteratee=_.identity]):自定義迭代函式。
var object = ;
_.invert(object); // =>
_.invertby(object); // =>
_.invertby(object, value => 'group' + value); //=>
lodash速覽 陣列方法(一)
1 chunk array,size 將乙個陣列按照一定的長度分割為n個陣列。chunk a b c d 2 a b c d 2 compact array 過濾陣列中布林值為false的值,如false,null,0,undefined,and nan。compact 0,1,false,2,3 ...
caffe 速覽筆記
blob與tensorflow中的tensor類似,都是用來在節點之間傳遞資料所用,介面也類似,常規的dimension是 資料量n x 通道k x 高度h x 寬度w blob內部存有data和diff兩大塊。前者是傳遞的資料,後者是計算的梯度。由於blob同時存在cpu和gpu,所以有兩種方式來...
Manifold Mixup 摘要速覽
manifold mixup better representations by interpolating hidden states 深度學習善於擬合訓練資料,在測試資料分布稍有差異時,效果就不好,這種測試資料報括資料分布偏移,異類,對抗樣本,為解決這個問題,我們提出manifold mixup...