JavaScript 将数组中具有相同值的对象 取出组成新的数组

 1 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}];
 2
 3 // 传入一个数组
 4 // 按照特定方式格式化
 5 function sortArr(arr, str) {
 6     var _arr = [],
 7         _t = [],
 8         // 临时的变量
 9         _tmp;
10
11     // 按照特定的参数将数组排序将具有相同值得排在一起
12     arr = arr.sort(function(a, b) {
13         var s = a[str],
14             t = b[str];
15
16         return s < t ? -1 : 1;
17     });
18
19     if ( arr.length ){
20         _tmp = arr[0][str];
21     }
22     // console.log( arr );
23     // 将相同类别的对象添加到统一个数组
24     for (var i in arr) {
25         console.log( _tmp);
26         if ( arr[i][str] === _tmp ){
27             console.log(_tmp)
28             _t.push( arr[i] );
29         } else {
30             _tmp = arr[i][str];
31             _arr.push( _t );
32             _t = [arr[i]];
33         }
34     }
35     // 将最后的内容推出新数组
36     _arr.push( _t );
37     return _arr;
38 }
39
40 sortArr( arr, ‘name‘);

原文地址:https://www.cnblogs.com/whyue/p/8143049.html

时间: 2024-08-02 21:29:43

JavaScript 将数组中具有相同值的对象 取出组成新的数组的相关文章

PHP 统计数组中所有的值出现的次数 array_count_values 函数

array_count_values() 函数用于统计数组中所有的值出现的次数. array_count_values() PHP array_count_values() 函数用于统计数组中所有的值出现的次数,返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数. 语法: 1 array array_count_values( array array ) 例子: 1 2 3 4 <?php $arr_a = array("a", "b", 

javascript如何去掉数组中重复的值

javascript如何去掉数组中重复的值: 数组是用来组织数据的,有时候里面的数据是重复的,下面就介绍一下如何从数组中删除重复的内容. 代码实例如下: var theArray=[1,2,3,4,5,6,4,3,10]; function unique(data){ var data=data||[]; var a={}; for(var i=0;i<data.length;i++){ var v=data[i]; if(typeof(a[v])=='undefined'){ a[v]=1;

JavaScript去除数组中的重复值

用原型函数(prototype)可以定义一些很方便的自定义函数,实现各种自定义功能. Javascript 中的原型函数(prototype)的工作原理,在 javascript 中每次声明新函数的过程中,就会为其创建一个 prototype 的属性.在未加其他附带条件情况下,所有的 prototype 属性都会自动获取 constractor 属性,constructor 内包含一个指向 prototype 属性所属函数的指针(就是说 constructor 回指构造函数本身).静乐县隗承五金

js去除数组中的重复值

hasOwnProperty(property) 方法 JavaScript中hasOwnProperty函数方法是返回一个布尔值,指出一个对象是否具有指定名称的属性. 使用方法: object.hasOwnProperty(proName) 其中参数object是必选项.一个对象的实例.proName是必选项.一个属性名称的字符串值. 如果 object 具有指定名称的属性,那么JavaScript中hasOwnProperty函数方法返回 true:反之则返回 false.此方法无法检查该对

js如何删除数组中重复的值

js如何删除数组中重复的值:有时候需要删除数组中重复的元素,下面是分享一下常用的代码,希望能够给需要的朋友带来一定的帮助.代码实例如下: Array.prototype.deleteEle=function() { var obj={}; var newArr=[]; var i,j; for(i=0;i<this.length;i++) { if(typeof(obj[this[i]])=="undefined") { obj[this[i]]=""; }

PHP检测数组中的每个值是否含有特殊字符

本文出至:新太潮流网络博客 /** * [TestArray 检测数组是一维还是二维] * @E-mial [email protected] * @TIME 2017-04-07 * @WEB http://blog.iinu.com.cn * @param [type] $array [数组] */ function TestArray($array){ if(is_array($array)){ foreach($array as $v){ if(is_array($v)){ $Int_A

遍历输出且输出数组中最大的值

1 int myarray[] = new int[]{44,22,301,54,5,88,7,48,9,10}; 2 3 //遍历并输出所有的数 4 for(int x :myarray) 5 { 6 System.out.print(x+" "); 7 } 8 System.out.println(); 9 //利用foreach来写输出数组中最大的数 10 int Max = myarray[0]; 11 12 for(int x:myarray) 13 { 14 if(Max&

PHP如何根据数组中的键值进行排序

主要是使用PHP的排序函数,asort()和arsort(). 为了减少代码的耦合性,我们将根据数组中的键值进行排序封装成一个函数 1 <?php 2 $array = array( 3 array('name'=>'aa','price'=>1050), 4 array('name'=>'bb','price'=>4300), 5 array('name'=>'cc','price'=>3100), 6 array('name'=>'dd','price'

返回数组中最小/大值,适用数组

//返回数组中的最小值 function min(target){ return Math.min.apply(0,target); } //返回数组中的最大值 function max(target){ return Math.max.apply(0,target); } 返回数组中最小/大值,适用数组