Skip to main content

Underscore.js 常用方法總結

Published 1 min readMarkdown

Underscore.js 常用方法總結

概述

Underscore.js 是一個很精幹的資料庫,壓縮後只有4KB。 它提供了幾十種函數語言程式設計的方法,大大方便了 Javascript 的程式設計。 MVC 框架 backbone.js 就是基於這個庫。

它定義了一個下劃線 物件,函式庫的所有方法都屬於這個物件。 這些方法大致上可以分成:

  1. 集合(collection)
  2. 陣列(array)
  3. 函式(function)
  4. 物件(object)和工具(utility)五大類。

安裝環境

node.js下安裝

Underscore.js 不僅可以用於瀏覽器環境,還可以用於 node.js。安裝命令如下: 複製程式碼 程式碼如下:

npm install underscore

但是,node.js 不能直接使用 _ 作為變數名,因此要用下面的方法使用 underscore.js。 複製程式碼 程式碼如下:

var u = require(“underscore”);

CDN 引入

<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.12.0/underscore-min.js" integrity="sha512-BDXGXSvYeLxaldQeYJZVWXJmkisgMlECofWFXKpWwXnfcp/R708nrs/BtNLH5cb/5TE7aeYRTDBRXu6kRL4VeQ==" crossorigin="anonymous"></script>

method

與集合有關的方法

Javascript 語言的資料集合,包括兩種結構:陣列和物件。以下的方法同時適用於這兩種結構。

  • map()

該方法對集合的每個成員依次進行某種操作,將返回的值依次存入一個新的陣列。 複製程式碼 程式碼如下:

// array
_.map([1, 2, 3], function(num){ return num * 3; });  // [3, 6, 9] 

// object
_.map({one : 1, two : 2, three : 3}, function(num, key){ return num * 3; });  // [3, 6, 9]
  • each()

該方法與map類似, 依次對集合的每個成員進行某種操作,但是不返回值。 複製程式碼 程式碼如下:

// array
_.each([1, 2, 3], alert);    

// object
_.each({one : 1, two : 2, three : 3}, alert);
  • reduce

該方法依次對集合的每個成員進行某種操作,然後將操作結果累計在某一個初始值之上,全部操作結束之後,返回累計的值。

該方法接受三個引數。第一個引數是被處理的集合,第二個引數是對每個成員進行操作的函式,第三個引數是累計用的變數。

// array
_.reduce([1, 2, 3], function(memo, num){ return memo num; }, 0);  // 6

// object
_.reduce({one : 1, two : 2, three : 3}), function(num, key){ return }

reduce方法的第二個引數是操作函式,它本身又接受兩個引數,第一個是累計用的變數,第二個是集合每個成員的值。

No comments yet. Be the first to comment.

More from this blog