【发布时间】:2016-08-11 18:15:14
【问题描述】:
我需要一点帮助,你有这个数组:
[
{Code:13938, Country:699, Name:"Crocs", codeProduct:1}
{Code:13952, Country:699, Name:"Polo Club", codeProduct:14}
{Code:13952, Country:699, Name:"Polo Club", codeProduct:1}
{Code:13952, Country:699, Name:"Polo Club", codeProduct:3}
{Code:13953, Country:699, Name:"OZ", codeProduct:12}
....
]
我需要转换成这个:
[
{Code:13938, Country:699, Name:"Crocs", codeProduct:1}
{Code:13952, Country:699, Name:"Polo Club", codeProduct:"14, 1, 3" }
{Code:13953, Country:699, Name:"Polo Club", codeProduct:12}
]
删除重复的对象并获取那些删除的对象的值没有问题。
var prodArray = [];
function uniq_fast(a) {
var seen = {};
var out = [];
var len = a.length;
var j = 0;
for(var i = 0; i < len; i++) {
var item = a[i].Codigo;
if(seen[item] !== 1) {
seen[item] = 1;
out[j++] = a[i];
}else{
prodArray.push({Code:item, codeProduct:a[i].TipoProductoCodigo});
}
}
return out;
}
这会返回一个没有重复值的新对象数组,并将已删除对象的属性添加到新数组prodArray。
// out return this:
[
{Code:13938, Country:699, Name:"Crocs", codeProduct:1}
{Code:13952, Country:699, Name:"Polo Club", codeProduct:"14, 1, 3" }
{Code:13953, Country:699, Name:"Polo Club", codeProduct:12}
]
和prodArr 返回这个:
[
{Code:13952, codeProduct:1}
{Code:13952, codeProduct:3}
]
但是如何将prodArray 中的属性设置到新的包含无重复对象的数组中?
希望我已经清楚了
【问题讨论】:
-
似乎非常不一致...您将拥有一个可能包含字符串列表或单个数字的属性。
-
您已将重复项移至 prodArray,并且要将它们添加回来?
-
我不明白你的最后一个问题
-
在
uniq_fast函数中返回重复项,删除对象的一些值在prodArray中。
标签: javascript jquery arrays object