gpt4 book ai didi

javascript - jquery逻辑从字符串中获取结果

转载 作者:行者123 更新时间:2023-11-29 19:10:01 25 4
gpt4 key购买 nike

我在 jquery var str 中有一个字符串,如下所示:

var str = 4-68,4-69,4-70,5-86,5-87,5-88,5-89,5-91,6-100,6-101

现在我想组织字符串并得到如下结果:

var result = 4(68,69,70)|5(86,87,88,89,91)|6(100,101)

看起来并不难。但我无法弄清楚代码中的逻辑。

var dataRecord = '4-68,4-69,4-70,5-86,5-87,5-88,5-89,5-91,6-100,6-101';
var i = 1;
var first_item = [];
var second_item = [];
var final_item = [];
var agree_ref_data = dataRecord.agreement_ref_no;
var main_arr = agree_ref_data.split(',');
for (i = 0; i < main_arr.length; ++i) {
var second_arr = main_arr[i].split('-');

if (jQuery.inArray(second_arr[0], first_item) == -1) {
first_item.push(second_arr[0]);
//second_item.push(second_arr[1]);
}

if (jQuery.inArray(second_arr[0], first_item) !== -1) {

second_item.push(second_arr[1]);

} else {
final_result = second_item;
//second_item=[];
}

}
return final_result;

}

我怎样才能得到我想要的结果?

最佳答案

这里是纯js代码,不需要jQuery。我们首先用逗号分割字符串,然后迭代结果数组,用“-”进一步分割。然后将值存储为 Map(为此使用普通的 js 对象)。其余只是迭代对象的键值对和按摩数据。

var dataRecord = '4-68,4-69,4-70,5-86,5-87,5-88,5-89,5-91,6-100,6-101';
var a = dataRecord.split(',');
var obj = {};
for(var i=0;i<a.length;i++){
var tmp = a[i].split('-');
if(typeof obj[tmp[0]] !== 'object'){
obj[tmp[0]] = [];
}
obj[tmp[0]].push(tmp[1]);
}
var result = '';
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
console.log(key + " -> " + obj[key]);
result = result + key + '(' + obj[key].join() + ')|';
}
}
result = result.substr(0,result.length-1); // removing the last | character

关于javascript - jquery逻辑从字符串中获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39718551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com