underscore.js

1._.sortBy

對象排序漆撞,字符串sortBy逆序加-號是排不出來的孽椰,可以采用sortBy().revrese()的方法旨剥。

方法1:

var _ = require("underscore");
var a = ["2014-12-03","2015-06-10","2014-12-23","2015-04-21"];

var b = _.sortBy(a,(o)=>{
    return o
}).reverse();

console.log(b);

結(jié)果:
[ '2015-06-10', '2015-04-21', '2014-12-23', '2014-12-03' ]

方法2:

var _ = require("underscore");
var arr = ["2014-12-03", "2015-06-10", "2014-12-23", "2015-04-21"];

var b = arr.sort((a, b) => {
    return a < b ? 1 : -1
})

console.log(b);
結(jié)果:
[ '2015-06-10', '2015-04-21', '2014-12-23', '2014-12-03' ]
2._.reduce

_.reduce(list, iteratee, [memo], [context])
list:數(shù)組机久;
iteratee: function(memo, num){ return memo + num; }
memo是初始值空扎,num是list里的每一個元素
memo:初始值

var _ = require("underscore");
var a = [1,2,3,4,5]
var b = 3;
var c = _.reduce(a,function(memo,o){return memo + o*b}
,0)
console.log(c);

首先memo = 0藏鹊,
第一次:memo = memo + o x b = 0+1 x 3 = 3,
第二次:memo = 3+2*3 = 9,
...
c = memo

3._.extend

list添加新屬性:

_.extend({name: 'moe'}, {age: 50});
=> {name: 'moe', age: 50}
4._.groupBy

把長度為200的數(shù)組,按照100的長度转锈,分為一個長度為2的數(shù)組盘寡。

function (num, index) {}
num代表數(shù)組的元素,
index代表該元素在數(shù)組的索引值撮慨。

var _ = require("underscore");
var a = [1,2,3,4,5,...];
a.length =200;
b = _.groupBy(a,function (num, index) {
    return Math.floor(index / 100);
})
[[100],[100]]
5._.flatten

如果是一個數(shù)組竿痰,外面嵌套了很多層,可以一次性取到裸的數(shù)組砌溺,如:

var _ = require("underscore");
var a = [1,[2],[[3,4]],[[[5]]]];
var b = _.flatten(a);
console.log(b);
[ 1, 2, 3, 4, 5 ]

如果是一個數(shù)組影涉,里面有多個元素,每個元素嵌套了多層抚吠,想要每個元素只減少一維可以設置參數(shù)為true常潮,如:

var _ = require("underscore");
var a = [1,[2],[[3,4]],[[[5]]]];
var b = _.flatten(a,true);
console.log(b);
[ 1, 2, [ 3, 4 ], [ [ 5 ] ] ]
6._.partition

拆分一個數(shù)組為兩個數(shù)組: 第一個數(shù)組其元素都滿足條件, 而第二個的所有元素均不能滿足predicate條件楷力。

var _ = require("underscore");
var a = _.partition([0, 1, 2, 3, 4, 5], function(num){
    return num <3;
});
console.log(a);
[ [ 0, 1, 2 ], [ 3, 4, 5 ] ]
7._.union

并集喊式,合并去重順序

_.union([1, 2, 3], [101, 2, 1, 10], [2, 1]);
=> [1, 2, 3, 101, 10]
8._.difference

_.difference(a, b)
去除掉a數(shù)組中包含,b數(shù)組中的元素

_.difference([1, 2, 3, 4, 5], [5, 2, 10]);
=> [1, 3, 4]
9._.range

快速創(chuàng)建數(shù)組

_.range(10);
=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
_.range(1, 11);
=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
_.range(0, 30, 5);
=> [0, 5, 10, 15, 20, 25]
_.range(0, -10, -1);
=> [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
_.range(0);
=> []
10._.pairs

把一個對象轉(zhuǎn)變?yōu)橐粋€[key, value]形式的數(shù)組萧朝。

_.pairs({one: 1, two: 2, three: 3});
=> [["one", 1], ["two", 2], ["three", 3]]
11._.pick

返回一個對象中想要的屬性岔留,其他屬性不顯示

_.pick({name: 'moe', age: 50, userid: 'moe1'}, 'name', 'age');
=> {name: 'moe', age: 50}
12._.isEqual

執(zhí)行兩個對象之間的優(yōu)化深度比較,確定他們是否應被視為相等检柬。

var stooge = {name: 'moe', luckyNumbers: [13, 27, 34]};
var clone  = {name: 'moe', luckyNumbers: [13, 27, 34]};
stooge == clone;
=> false
_.isEqual(stooge, clone);
=> true

var _ = require("underscore");
var a = _.range(0,10);
var b = _.range(1,10);
var c = _.isEqual(a,b);
console.log(c);
false
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末献联,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子何址,更是在濱河造成了極大的恐慌里逆,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件用爪,死亡現(xiàn)場離奇詭異原押,居然都是意外死亡,警方通過查閱死者的電腦和手機偎血,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門诸衔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盯漂,“玉大人,你說我怎么就攤上這事笨农【屠拢” “怎么了?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵谒亦,是天一觀的道長竭宰。 經(jīng)常有香客問我,道長份招,這世上最難降的妖魔是什么羞延? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮脾还,結(jié)果婚禮上伴箩,老公的妹妹穿的比我還像新娘。我一直安慰自己鄙漏,他們只是感情好嗤谚,可當我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著怔蚌,像睡著了一般巩步。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上桦踊,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天椅野,我揣著相機與錄音,去河邊找鬼籍胯。 笑死竟闪,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的杖狼。 我是一名探鬼主播炼蛤,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蝶涩!你這毒婦竟也來了理朋?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤绿聘,失蹤者是張志新(化名)和其女友劉穎嗽上,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體熄攘,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡兽愤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了烹看。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡洛史,死狀恐怖惯殊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情也殖,我是刑警寧澤土思,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站忆嗜,受9級特大地震影響己儒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜捆毫,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一闪湾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧绩卤,春花似錦途样、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至凛驮,卻和暖如春裆站,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背黔夭。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工宏胯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人本姥。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓胳嘲,卻偏偏與公主長得像,于是被迫代替她去往敵國和親扣草。 傳聞我的和親對象是個殘疾皇子了牛,可洞房花燭夜當晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內(nèi)容