jQuery JSON数组转换

时间:2015-06-19 00:25:52

标签: javascript

我正在尝试转换 ['peter', 'pan','Michael','peter','pan'][{'peter':2},{'pan':2},{'michael':1}] 它计算名称出现的时间,然后将其打印出来。

names[name] = 0;不起作用,names[name] = names[name] + 1;

也不起作用

1 个答案:

答案 0 :(得分:0)

var data = ['peter', 'pan','Michael','peter','pan'];
// create a temporary mapping holder.
var tmp = {};
for (var ii=0; ii < data.length; ii++) {
   // set the key to 0 if it doesn't exist.
   if (!(tmp[data[ii]])) {
      tmp[data[ii]]  = 0;
   }
   tmp[data[ii]] ++;
}
// create the output array.
var output = [];
for (var key in tmp)
{
    var pObj = {};
    pObj[key] = tmp[key];
    output.push(pObj);
}

你可以在一个循环中完成所有这些,但我认为通过分解它可能更容易理解。