Помогите решить задачу
Добрый день
Помогите плиз решить задачу на js Суть задачи: Есть 2 строки, в первой строке есть символ - * Нужно найти его вхождение и удалить во второй строке все найденные вхождения, и из первой тоже удалить все * чтобы получилось var str = "Type=Cyber_TIME=*_5_K=1.7*"; var str2 = "Type=Cyber_TIME=3_5_K=1.70"; на выходе: Type=Cyber_TIME=_5_K=1.7 Type=Cyber_TIME=_5_K=1.7 что "накодил" сам var str = "Type=Cyber_TIME=*_5_K=1.7*"; var str2 = "Type=Cyber_TIME=3_5_K=1.70"; var target = "*"; // цель поиска var all = []; var pos = 0; while (true) { var foundPos = str.indexOf(target, pos); if (foundPos == -1) break; all.push(foundPos); pos = foundPos + 1; } all.forEach(function (item, i, all) { alert(item); str[item] = ''; str2[item] = ''; }); console.log(str); Помогите плиз |
str = str.replace(/\*/g,'') |
не, нужно номера букв в строке 2 удалить там где стоит * в строке 1
|
nekit44,
var str = "Type=Cyber_TIME=*_5_K=1.7*"; var str2 = "Type=Cyber_TIME=3_5_K=1.70"; var target = "*"; // цель поиска var all = []; var pos = 0; while (true) { var foundPos = str.indexOf(target, pos); if (foundPos == -1) break; all.push(foundPos - all.length); pos = foundPos + 1; } all.forEach(function (item, i) { str = str.slice(0,item) + str.slice(item+1) str2 = str2.slice(0,item) + str2.slice(item+1) }); console.log(str, str2); |
Цитата:
Я был почти у цели) |
nekit44,
если нужно, можно добавить длину target var str = "Type=Cyber_TIME=*_5_K=1.7*"; var str2 = "Type=Cyber_TIME=3_5_K=1.70"; var target = "*"; var len = target.length; var all = []; var pos = 0; while (true) { var foundPos = str.indexOf(target, pos); if (foundPos == -1) break; all.push(foundPos - all.length * len); pos = foundPos + len } all.forEach(function(item) { str = str.slice(0, item) + str.slice(item + len); str2 = str2.slice(0, item) + str2.slice(item + len) }); console.log(str, str2); |
Ходы кривые роет...
var str = "Type=Cyber_TIME=*_5_K=1.7*"; var str2 = "Type=Cyber_TIME=3_5_K=1.70"; for (var i = str.length - 1;i > -1; i--) { str[i] = str[i]==str2[i]?str[i]:""; } str2 = str; console.log(str, str2); ...всегда идут в обход var str = "Type=Cyber_TIME=*_5_K=1.7*"; var str2 = "Type=Cyber_TIME=3_5_K=1.70"; for (var i = str.length - 1;i > -1; i--) { str[i] = str[i]==str2[i]|str[i]; } str2 = str; console.log(str, str2); |
Dilettante_Pro, идея прикольная но не работает
|
Dilettante_Pro,
какой из вариантов работает и где? |
:write:
var str = "Type=Cyber_TIME=*_5_K=1.7*"; var str2 = "Type=Cyber_TIME=3_5_K=1.70"; str2 = str = [...str].filter(a => a != "*").join(""); console.log(str, str2); |
Часовой пояс GMT +3, время: 03:22. |