0

它的简单问题

我有一个 jquery 数组

arry = [ 'apple=1', 'apple=2', 'orange=5', 'orange=7', 'orange=9', 'guava=12', 'guava=11' ]; 

我想将上面的数组转换为字符串

str = 'apple=1*2*~orange=5*7*9~guava=12*11';

请在这方面帮助我...

(实际上我正在寻找各种有趣的方法来做到这一点)

4

1 回答 1

3

如果您知道要获得确切的输出,还有更直接的方法,但我会发现首先将数组重新排列到正确的字典中最有用:

var dict = {};
arry.forEach(function(item) {
   var parts = item.split('=');
   var key = parts[0];
   var value = parts[1];

   if(key in dict) {
      dict[key].push(value);
   } else {
      dict[key] = [value];
   }
});

...然后连接字符串:

Object.keys(dict).map(function(key) {
   return [key, '=', dict[key].join('*')].join('');
}).join('~');
于 2013-05-15T09:30:12.120 回答