js对象数组深度去重和深度排序
2018-08-26 17:26:48来源:博客园 阅读 ()
使用collect.js处理数组和对象
https://github.com/ecrmnn/collect.js/#
引入collect.js
https://github.com/ecrmnn/collect.js/#installation
npm install collect.js --save
或
<script src="https://cdn.jsdelivr.net/npm/collect.js@4.0.25/build/collect.min.js"></script>
深度去重
https://github.com/ecrmnn/collect.js/#unique
简单数组去重
const collection = collect([1, 1, 1, 2, 3, 3]); const unique = collection.unique(); unique.all(); //=> [1, 2, 3]
对象数组去重
const collection = collect([ { name: 'iPhone 6', brand: 'Apple', type: 'phone' }, { name: 'iPhone 5', brand: 'Apple', type: 'phone' }, { name: 'Apple Watch', brand: 'Apple', type: 'watch' }, { name: 'Galaxy S6', brand: 'Samsung', type: 'phone' }, { name: 'Galaxy Gear', brand: 'Samsung', type: 'watch' }, ]); const unique = collection.unique('brand'); unique.all(); //=> [ //=> { name: 'iPhone 6', brand: 'Apple', type: 'phone' }, //=> { name: 'Galaxy S6', brand: 'Samsung', type: 'phone' }, //=> ]
对象数组回调函数处理去重
const collection = collect([ { name: 'iPhone 6', brand: 'Apple', type: 'phone' }, { name: 'iPhone 5', brand: 'Apple', type: 'phone' }, { name: 'Apple Watch', brand: 'Apple', type: 'watch' }, { name: 'Galaxy S6', brand: 'Samsung', type: 'phone' }, { name: 'Galaxy Gear', brand: 'Samsung', type: 'watch' }, ]); const unique = collection.unique(function (item) { return item.brand + item.type; }); unique.all(); //=> [ //=> { name: 'iPhone 6', brand: 'Apple', type: 'phone' }, //=> { name: 'Apple Watch', brand: 'Apple', type: 'watch' }, //=> { name: 'Galaxy S6', brand: 'Samsung', type: 'phone' }, //=> { name: 'Galaxy Gear', brand: 'Samsung', type: 'watch' }, //=> ]
简单排序和深度排序
简单数组排序
https://github.com/ecrmnn/collect.js/#sort
const collection = collect([5, 3, 1, 2, 4]); const sorted = collection.sort(); sorted.all(); //=> [1, 2, 3, 4, 5]
简单数组回调函数处理排序
const collection = collect([5, 3, 1, 2, 4]); const sorted = collection.sort(function (a, b) { return b - a; }); sorted.all(); //=> [5, 4, 3, 2, 1]
对象数组排序
https://github.com/ecrmnn/collect.js/#sortby
const collection = collect([ { name: 'Desk', price: 200 }, { name: 'Chair', price: 100 }, { name: 'Bookcase', price: 150 }, ]); const sorted = collection.sortBy('price'); sorted.all(); //=> [ //=> { name: 'Chair', price: 100 }, //=> { name: 'Bookcase', price: 150 }, //=> { name: 'Desk', price: 200 }, //=> ]
对象数组回调函数处理排序
const collection = collect([ { name: 'Desk', colors: ['Black', 'Mahogany'] }, { name: 'Chair', colors: ['Black'] }, { name: 'Bookcase', colors: ['Red', 'Beige', 'Brown'] }, ]); const sorted = collection.sortBy(function (product, key) { return product['colors'].length; }); sorted.all(); //=> [ //=> { name: 'Chair', colors: ['Black'] }, //=> { name: 'Desk', colors: ['Black', 'Mahogany'] }, //=> { name: 'Bookcase', colors: ['Red', 'Beige', 'Brown'] }, //=> ]
降序排序
使用方法和sortBy一样,但得到降序结果
https://github.com/ecrmnn/collect.js/#sortbydesc
==============================================
本文链接:https://www.cnblogs.com/stumpx/p/9515848.html
==============================================
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- javascript面向对象入门基础详细介绍 2020-03-29
- JS简单去除数组中重复项的方法 2020-03-16
- 关于JS array的数组 2020-03-08
- javascript过滤数组重复元素的实现方法 2020-03-05
- jquery遍历筛选数组的几种方法和遍历解析json对象 2020-02-29
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash