Найти слова в тексте у которых первая и последняя буквы совпадают
Помогите пожалуйста, уже замучился . Пытался сначала решить задачу сам, но никак не выходит. Точнее выходит но не до конца. Программа работает только если я введу с клавиатуры одно слово, а с текстами не работает. Объясните ,пожалуйста ,что не так.Как сделать чтобы программа работала с текстом. Вот код:
var text; text=prompt("enter a text"); for(var i=0;i<text.length;i++){ if(text.charAt(i)===text.charAt(text.length-1)){ document.write("the first and the last letters are the same"); } else { document.write("the first and the last letters are not the same"); } break; } |
Alex961,
разбить текст на слова наверно нужно сначала, потом отфильтровать, затем вывести (желательно без всяких document.write) |
Спасибо большое за ответ. Очень помогло. Вот только вопрос, а почему желательно без document.write? Я просто пока новичок.
|
Alex961,
потому что сотрёт страницу если использовать в скриптах после загрузки страницы (в данном случае не критично) |
Благодарю...Иногда ответ лежит на поверхности, но я почему-то его не замечаю...:(
|
Alex961,
:) <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> span{ background-image: -webkit-gradient(linear, left, right, color-stop(0, #FFD700), color-stop(1, #FF0000)); background-image: -o-linear-gradient(left, #FFD700, #FF0000); background-image: -moz-linear-gradient(left, #FFD700, #FF0000); background-image: -webkit-linear-gradient(left, #FFD700, #FF0000); background-image: linear-gradient(to right, #FFD700, #FF0000); font-size: 24px; font-weight: bold; color: #FFFFFF; padding: 6px 4px; border-radius: 4px; margin: 5px; } </style> </head> <body> <script> var text=prompt("enter a text") .split(/\s+/) .filter(function(word) { return word && word.charAt(0)===word.charAt(word.length-1) }).map(function(word) { return '<span>'+word+'<\/span>' }); text.forEach(function(word, i ) { document.body.children[i].insertAdjacentHTML("beforeBegin", word); }) </script> </body> </html> |
Круууто как ... А мне еще пока учиться и учиться...Спасибо вам за помощь..:thanks:
|
Alex961,
не очень :) пришлось 35 строку поправить чтоб переменную text сохранить, если не нужна то var text= в прежнем варианте лишнее. prompt("enter a text") .split(/\s+/) .filter(function(word) { return word && word.charAt(0)===word.charAt(word.length-1) }).map(function(word) { return '<span>'+word+'<\/span>' }).forEach(function(word, i ) { document.body.children[i].insertAdjacentHTML("beforeBegin", word); }) |
Часовой пояс GMT +3, время: 01:00. |