Collect.js: JavaScript 版的 Laravel Collection

JokerLinly發表於2017-06-18

file
Collect.js 是 Laravel Colletctions 在 JavaScript 中的實現。它不但沒有任何依賴,還能使處理陣列和物件的工作變得簡單。

這裡是一個用 where 方法的例子:

const collection = collect([
  {'product': 'Desk', 'price': 200},
  {'product': 'Chair', 'price': 100},
  {'product': 'Bookcase', 'price': 150},
  {'product': 'Door', 'price': '100'},
]);

const filtered = collection.where('price', 100);

filtered.all();

//=> [
//=>   {'product': 'Chair', 'price': 100},
//=>   {'product': 'Door', 'price': '100'}
//=> ]

如你所見它幾乎一一對應地實現了 Laravel Collection 中所有的方法甚至還包括最新的 Collection Tap ,不過,它在處理比較的這部分卻存在著一些差異:

在 collect.js 中所有的比較都是用「===」來完成的。在 JavaScript 中使用「==」通常是不被贊成的。預設情況下,Laravel 只執行「==」比較,並提供幾種「===」比較的方法。這些方法沒有在 collect.js 中被實現,因為預設情況下,所有的方法都是「===」的。

你可以通過 npm 來安裝 Collect.js

npm install collect.js

完整的示例文件和安裝可以到 GitHub repo 或者 npm 頁面上檢視。

參考連結:https://laravel-news.com/javascript-collections

Stay Hungry, Stay Foolish.

相關文章