0

我有一个具有重复 pk 值的 pks 数组,我想将其转换为 JSON 对象,其中

obj.id = pk
obj.count = count of pk in array

我尝试使用JSON.stringify库,但obj.id 没有给我任何 pk。

4

2 回答 2

0

我认为这就是你要找的:

var x = [1,1,1,2,2,2,3,4,3];
var unique = {};
for(var i = 0; i < x.length; i++)
{
  if (!unique.hasOwnProperty(x[i])) {
     unique[x[i]] = 1;
  }
  else
  {
    unique[x[i]]++;
  }
}

生产{1: 3, 2: 3, 3: 2, 4: 1}

然后,您可以这样做以将其转换为您想要的对象结构

var objArray = [];

for (var key in unique) {
  objArray.push({id: key, count: unique[key]});
}

生产[{id: 1, count: 3},{id: 2, count: 3},{id: 3, count: 2},{id: 4, count: 1}]

于 2013-01-10T23:53:22.477 回答
0

使用json2

并调用:

var myJsonString = JSON.stringify(yourArray);

于 2013-01-10T23:37:10.400 回答