У меня есть патч кода, как показано ниже:
var originalText = "111@gmail.com;333@gmail.com;555@gmail.com;";
var compareArr = ["111@gmail.com;222@gmail.com","333@gmail.com;444@gmail.com"];
var result = "";
Здесь каждый элемент originalText должен сравниваться с каждым элементом в массиве compareArr. Если первая буква элемента в массиве совпадает, то она должна заменить исходную строку элементом в массиве.
В приведенном выше примере '111@gmail.com ;;'присутствует в массиве, поэтому '111@gmail.com;'будет заменен на «111@gmail.com; 222@gmail.com;». Опять же, «333@gmail.com;»присутствует в массиве, поэтому «333@gmail.com;»будет заменен на «333@gmail.com; 444@gmail.com;».
Конечный результат, который мне нужен, - «111@gmail.com; 222@gmail.com; 333@gmail.com;444@gmail.com; 555@gmail.com; '
Это то, что я пробовал до сих пор, что дает мне только первую строку' 111@gmail.com; 222@gmail.com; 'в выводе.
var originalText = "111@gmail.com;333@gmail.com;555@gmail.com;";
var compareArr = ["111@gmail.com;222@gmail.com","333@gmail.com;444@gmail.com"];
var result = "";
var arr1 = originalText.split(";");
for (x=0;x<arr1.length-1;x++)
{
for(y=0;y<compareArr.length;y++)
{
var arr2 = compareArr[y].split(";");
if(arr2[y] == arr1[x])
{
result += compareArr[y];
}
}
}
console.log(result);
Я ожидал, что вывод будет '111@gmail.com; 222@gmail.com; 333@gmail.com; 444@gmail.com; 555@gmail.com;', но я получаю '111@gmail.com; 222@gmail.com ;;'.