从数组-jquery创建特定格式字符串
这是一个简单的问题 我有一个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'; 请在这方面帮助我 (实际上,我正在寻找各种有趣的方法来实现这一点)如果您知道要获得确切的输出,还有更简单的方法,但我会发现最有用的方法是首先将
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('~');
你是否亲自尝试过?是的,它按照预期工作…你是否亲自尝试过?是的,它按照预期工作。。。