Замена в строке - значение элемента массива на значение элемента др. массива
Поздравляю с Пасхой! :victory: :dance:
Ну, а теперь задача, требующая вашей помощи: <script type="text/javascript"> var arr1 = ["пылесос", "курица"]; var arr2 = ["канализационный люк", "Камаз"]; var news = "Новость: на ул. Пирогова пылесос засосал курицу живьём"; news=news.replace(/arr1[0]/img,arr2[0]); news=news.replace(/arr1[1]/img,arr2[1]); </script> Т.е. нужно произвести замену в строке так, чтобы "Новость: на ул. Пирогова пылесос засосал курицу живьём", преобразовалось в "Новость: на ул. Пирогова канализационный люк засосал Камаз живьём". Трудность в том, что в строке заменить нужно часть подходящую к значению элемента массива, на значение элемента другого массива. При этом в массивы нельзя записать инфу - они только для чтения. |
<script type="text/javascript"> var arr1 = ["пылесос", "курицу"]; var arr2 = ["канализационный люк", "Камаз"]; var news = "Новость: на ул. Пирогова пылесос засосал курицу живьём"; news=news.replace(arr1[0],arr2[0]); news=news.replace(arr1[1],arr2[1]); alert(news); </script> |
Цитата:
|
Цитата:
Это часть скрипта (использует API Яндекс.Спеллера) проверки орфографии, поэтому проблем быть не должно - слова с ошибками, должны замениться на слова без ошибок. |
Цитата:
<script type="text/javascript"> var arr1 = ["подвал", "бес"]; var arr2 = ["чердак", "ангел"]; var news = "Новость: на ул. Пирогова к бесстыжему беспризорнику подвалил бес и утащил его в подвал"; news=news.replace(arr1[0],arr2[0]); news=news.replace(arr1[1],arr2[1]); alert(news); </script> то получится чушь. |
Цитата:
Ввод в код пробелов устраняет подобное: <script type="text/javascript"> var arr1 = ["подвал", "бес"]; var arr2 = ["чердак", "ангел"]; var news = "Новость: на ул. Пирогова к бесстыжему беспризорнику подвалил бес и утащил его в подвал"; news=news.replace(' '+arr1[0]+' ',' '+arr2[0]+' '); news=news.replace(' '+arr1[1]+' ',' '+arr2[1]+' '); alert(news); </script> Ещё раз спасибо за помощь! -------------------------------- Хотя по всей видимости придётся действовать по другому. Эх... |
Часовой пояс GMT +3, время: 23:21. |