JavaScript 将数组中具有相同值的对象 取出组成新的数组
2024-08-22 22:52:02
var arr=[{name:2,id:3},{name:2,id:4},{name:3,id:5},{name:3,id:6},{name:1,id:1},{name:1,id:2}]; // 传入一个数组
// 按照特定方式格式化
function sortArr(arr, str) {
var _arr = [],
_t = [],
// 临时的变量
_tmp; // 按照特定的参数将数组排序将具有相同值得排在一起
arr = arr.sort(function(a, b) {
var s = a[str],
t = b[str]; return s < t ? -1 : 1;
}); if ( arr.length ){
_tmp = arr[0][str];
}
// console.log( arr );
// 将相同类别的对象添加到统一个数组
for (var i in arr) {
console.log( _tmp);
if ( arr[i][str] === _tmp ){
console.log(_tmp)
_t.push( arr[i] );
} else {
_tmp = arr[i][str];
_arr.push( _t );
_t = [arr[i]];
}
}
// 将最后的内容推出新数组
_arr.push( _t );
return _arr;
} sortArr( arr, 'name');
转载自 https://www.cnblogs.com/whyue/p/8143049.html
最新文章
- 微型orm fluentdata
- 240个jquery插件(转)
- ThinkBox DOC
- 【Java】整理关于java的String类,equals函数和比较操作符的区别
- 基于AdaBoost的人脸检测
- mysql主从备份及常见问题处理
- 洛谷 [P251] 餐巾计划问题
- How tomcat works 读书笔记十二 StandardContext 上
- MySQL之ORM框架SQLAlchemy
- windows下使用curl命令 &;&; 常用curl命令
- MySQL事物管理
- 基础运算符补充,流程控制之if判断/while循环
- LeetCode - Maximum Frequency Stack
- 主机性能监控之wmi 获取系统信息及内存性能信息
- linux中ftp的安装过程记录[运维篇]
- Swift 里的指针
- LeetCode--No.011 Container With Most Water
- MXNET:分类模型
- svn的使用教程
- windows10如何查看wifi密码