简单的问题
我有一个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';
请帮助我...
(实际上我正在寻找各种有趣的方法来实现这一目标)
答案 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('~');