var d = [];
d[0] = {P : "a", C : "1", Q : 2};
d[1] = {P : "a", C : "1", Q : 1};
d[2] = {P : "b", C : "1", Q : 1};
d[3] = {P : "a", C : "2", Q : 1}; //排序
function compare(o1, o2){
if(o1.P != o2.P) return o1.P.localeCompare(o2.P);
if(o1.P == o2.P && o1.C != o2.C) return o1.C.localeCompare(o2.C);
if(o1.P == o2.P && o1.C == o2.C) return 0;
}var dd = d.sort(compare);//比较
var n = [];(function a(){ if(d.length == 1){
n.push(d[0]);
return;
}else if(d[0].P == d[1].P && d[0].C == d[1].C){
d[1].Q += d[0].Q;
}else{
n.push(d[0]);
}
d.shift();
a();
})();
for(o in n){
var s = "";
for(oo in n[o]){
s += oo+":"+n[o][oo]+"\n";
}
alert(s);
}
d[0] = {P : "a", C : "1", Q : 2};
d[1] = {P : "a", C : "1", Q : 1};
d[2] = {P : "b", C : "1", Q : 1};
d[3] = {P : "a", C : "2", Q : 1}; //排序
function compare(o1, o2){
if(o1.P != o2.P) return o1.P.localeCompare(o2.P);
if(o1.P == o2.P && o1.C != o2.C) return o1.C.localeCompare(o2.C);
if(o1.P == o2.P && o1.C == o2.C) return 0;
}var dd = d.sort(compare);//比较
var n = [];(function a(){ if(d.length == 1){
n.push(d[0]);
return;
}else if(d[0].P == d[1].P && d[0].C == d[1].C){
d[1].Q += d[0].Q;
}else{
n.push(d[0]);
}
d.shift();
a();
})();
for(o in n){
var s = "";
for(oo in n[o]){
s += oo+":"+n[o][oo]+"\n";
}
alert(s);
}
d[0] = {P : "a", C : "1", Q : 2};
d[1] = {P : "a", C : "1", Q : 1};
d[2] = {P : "b", C : "1", Q : 1};
d[3] = {P : "a", C : "2", Q : 1}; //排序
function compare(o1, o2){
if(o1.P != o2.P) return o1.P.localeCompare(o2.P);
else if(o1.C != o2.C) return o1.C.localeCompare(o2.C);
else return 0;
}var dd = d.sort(compare);//比较
var n = [];for(var i = 1, len = d.length; i < len; i++){
if(d[0].P == d[1].P && d[0].C == d[1].C){
d[1].Q += d[0].Q;
}else{
n.push(d[0]);
}
d.shift();
}
n.push(d[0]);for(o in n){
var s = "";
for(oo in n[o]){
s += oo+":"+n[o][oo]+"\n";
}
alert(s);
}这样比较好
for(oo in n[o]){
这里我想这直接 alert(n[o][0]) 需要怎改?
}
}
d[0] = {P : "a", C : "1", Q : 2};
d[1] = {P : "a", C : "1", Q : 1};
d[2] = {P : "b", C : "1", Q : 1};
d[3] = {P : "a", C : "2", Q : 1};
d[4] = {P : "b", C : "1", Q : 1}; //排序
function compare(o1, o2){
if(o1.P != o2.P) return o1.P.localeCompare(o2.P);
else if(o1.C != o2.C) return o1.C.localeCompare(o2.C);
else return 0;
}var n = d.sort(compare);//比较
for(var i = n.length -1; i > 0; i--){
if(n[i].P == n[i-1].P && n[i].C == n[i-1].C){
n[i-1].Q += n[i].Q;
n.splice(i,1);
}
}for(o in n){
var s = "";
for(oo in n[o]){
s += oo+":"+n[o][oo]+"\n";
}
alert(s);
}更好
巧合对了