Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Исключить букву 'ё' из сравнения (https://javascript.ru/forum/misc/74107-isklyuchit-bukvu-%27jo%27-iz-sravneniya.html)

Artur_Hopf 14.06.2018 08:34

Исключить букву 'ё' из сравнения
 
Доброе утро. Я все борюсь с фамилиями :p

В этой строке сравниваются одинаковые фамилий с инициалами, все хорошо работает но встретилась одна фамилия которая в одном массиве пишется через 'е' а в другом через 'ё'. Как можно поправить эту обработку чтобы при сравнений между 'е' и 'ё' он не видел разницу.

Фот функция сравнения:


for (var i = 0; i < arrayXML.length; i++) {

    var el = arrayXML.find(function(element) {

    return element.name.trim() == name2.trim();  
 
    });
};

рони 14.06.2018 09:00

Цитата:

Сообщение от Artur_Hopf
Как можно поправить эту обработку

заменить ё в обоих name

рони 14.06.2018 09:05

Artur_Hopf,
...trim().toLowerCase().replace(/ё/g,"е")

Artur_Hopf 14.06.2018 09:10

рони,
Спасибо =)

Artur_Hopf 14.06.2018 14:53

Internet Explorer не поддерживает функцию .find :( Я вычитал что с помощью jquery можно попробовать.

Подскажите пожалуйста, с помощью какой функции из jquery можно заменить это:
el = arrayXML.find(function(element) {

   return element.name.trim().toLowerCase().replace(/ё/g,"е") == name2.trim().toLowerCase().replace(/ё/g,"е");  
 
});


Нашел что то такое, на как всю цепочку вставить?


var result = $.grep(myArray, function(e){ return e.id == id; });

рони 14.06.2018 14:57

Artur_Hopf,
el = arrayXML.filter(function(element) {

   return element.name.trim().toLowerCase().replace(/ё/g,"е") == name2.trim().toLowerCase().replace(/ё/g,"е");

});

if(el.length) el = el[0];
else  el = false;

рони 14.06.2018 14:59

Цитата:

Сообщение от Artur_Hopf
Internet Explorer не поддерживает функцию

https://developer.mozilla.org/ru/doc...cts/Array/find -> Полифилл

Artur_Hopf 14.06.2018 15:04

рони,
Спасибо, честно пытался пару часов сам разобраться :yes:


Часовой пояс GMT +3, время: 14:59.