Я пытаюсь придумать эффективный способ перезаписать 2 строки, которые похожи на это:
str1 = "width=800,height=600,resizable=no,titlebar=no";
str2 = "width=100,height=100";
В вышеупомянутом примере, str2
должен перезаписать str1
произвести str3
:
str3 = "width=100,height=100,resizable=no,titlebar=no";
В моих тестах я повернулся str2
в массив и протестированный каждый ключ против соответствия в str1
.
Может любой думать о более эффективном способе записать это:
str1 = "width=800,height=600,resizable=no,titlebar=no";
str2 = "width=100,height=100";
sArray = str2.split(",");
for( var i = 0; i < sArray.length; i++ ) {
var key = sArray[i].match(/(\w+)=/gi).toString().replace("=", ""),
in_str1 = str1.search(key),
replace_pattern = new RegExp(key+"=(\\w+)", "gi");
if(in_str1 !== -1){
str1 = str1.replace(replace_pattern, sArray[i]);
} else {
str1 = str1 + "," + sArray[i];
}
}