lodash速覽 物件Object方法(一)

2021-09-13 12:17:28 字數 3290 閱讀 7089

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...