从array - jquery创建特定的格式字符串

时间:2013-05-15 09:25:54

标签: jquery arrays string

简单的问题

我有一个jquery arrary

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';

请帮助我...

(实际上我正在寻找各种有趣的方法来实现这一目标)

1 个答案:

答案 0 :(得分: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('~');