从数组-jquery创建特定格式字符串

从数组-jquery创建特定格式字符串,jquery,arrays,string,Jquery,Arrays,String,这是一个简单的问题 我有一个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'; 请在这方面帮助我 (实际上,我正在寻找各种有趣的方法来实现这一点)如果您知道要获得确切的输出,还有更简单的方法,但我会发现最有用的方法是首先将

这是一个简单的问题

我有一个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';
请在这方面帮助我


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

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

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('~');

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

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('~');

你是否亲自尝试过?是的,它按照预期工作…你是否亲自尝试过?是的,它按照预期工作。。。