var str1 = 'как я ', str2 = 'яма';
var concat_with_replace = function(str1, str2) {
var str1_words = str1.split(' '),
str2_words = str2.split(' '),
count = 0, last_word = -1, new_word = -1;
for(var i = 0; i < str2_words.length; i++) {
for(var j = str1_words.length-1; j >= 0; j--) {
if(str1_words[j] === str2_words[i] || str1_words[j] == "" || str2_words[i] === "") {
new_word = j;
break;
}
}
if(new_word !== last_word + 1 && last_word !== -1 || new_word === -1) {
break;
} else {
new_word = -1;
last_word = new_word;
count++;
}
}
var result = str1_words.splice(0 , str1_words.length-count).concat(str2_words);
for(var i = 0 ; i < result.length; i++) {
if(result[i] == "") {
result.splice(i, 1);
i--;
}
}
return result.join(' ');
}
console.log(concat_with_replace(str1, str2));
15 сентября 2018 года пройдет Krasnodar Dev Days #3, а после нее начнутся митапы по Backend и Frontend.
Следить за сообществом Krasnodar Dev Days можно в ВК, Facebook, Twitter, Instagram.