Найти совпадения в тексте 
		
		
		
		Здравствуйте форумчане, по заданию нужно создать текстовое поле и ввести в него слова через запятую, проанализировать его и вывести результаты по 6 критериям: 
	Все гласные буквы, которые входят в каждое слово Все согласные буквы, которые не входят ни в одно слово Все звонкие согласные буквы, которые входят хотя бы в одно слово Все глухие согласные, которые не входят хотя бы в одно слово Все согласные буквы, которые входят только в одно слово Все глухие согласные буквы, которые не входят только в одно слово Написано что нужно реализовать при помощи объекта Array и его методов. Подскажите пожалуйста с помощью каких методов такое возможно реализовать... буду благодарен любой помощи. Я знаю только один - split - с помощь его я превратил сроку текста в массив из слов, а что дальше делать хз...  | 
	
		
 Цитата: 
	
 то есть кроме массива слов нужно 6 массивов для фильтрации. можно циклом , можно http://learn.javascript.ru/array-iteration вы начните.  | 
	
		
 Цитата: 
	
 - Гласных - Согласных - Звонких согласных - Глухих согласных т.к. согласные и глухие по заданию используются дважды И я не понял как "отфильтровать по всем словам" допустим я имею 2 массива: var array1 = [мать, отец, сын]; var array2 = [а, у, о, ы, и, э, я, ю, ё, е]; как мне с помощью второго отфильтровать первый по заданным условиям?  | 
	
		
 HelloDarkness, 
	
function blender(letters, words, select) {
    return letters.filter(function(letter) {
        return words.every(function(word) {
            return word.toLowerCase().indexOf(letter.toLowerCase()) != -1 ? select : !select
        })
    })
};
var test = blender(["А", "Я", "О", "Ё", "У", "Ю", "Ы", "И", "Э", "Е"], ["которые", "входят", "каждое", "слово"], true)
alert(test);//буквы которые входят в каждое слово [O]
test = blender(["А", "Я", "О", "Ё", "У", "Ю", "Ы", "И", "Э", "Е"], ["которые", "входят", "каждое", "слово"], false)
alert(test);//буквы которых нет в каждом слове [Ё,У,Ю,И,Э]
test = blender(["А", "Я", "О", "Ё", "У", "Ю", "Ы", "И", "Э", "Е"], test, false)
alert(test);//буквы которые есть хотябы в одном слове [А,Я,О,Ы,Е]
 | 
	
		
 Цитата: 
	
 только функция мне не много не понятна, что в ней нужно будет изменить да бы применить к оставшимся двух условиям? -буквы которые входят/ не входят хотя бы в одно слово -буквы которые входят/ не входят только в одно слово тест: 
function blender(letters, words, select) {
    return letters.filter(function(letter) {
        return words.some(function(word) {
            return word.toLowerCase().indexOf(letter.toLowerCase()) != -1 ? select : !select
        })
    })
};
var test = blender(["А", "Я", "О", "Ё", "У", "Ю", "Ы", "И", "Э", "Е"], ["которые", "входят", "каждое", "слово"], true)
alert(test);//буквы которые входят в каждое слово [O]
test = blender(["А", "Я", "О", "Ё", "У", "Ю", "Ы", "И", "Э", "Е"], ["которые", "входят", "каждое", "слово"], false)
alert(test);//буквы которых нет в каждом слове [Ё,У,Ю,И,Э]
 | 
	
		
 HelloDarkness, 
	есть буквы которых нет [Ё,У,Ю,И,Э] ни в одном слове -- значит остались буквы которые есть хотябы в одном слове. смотрите пример выше - добавлено строки 12-13  | 
	
		
 Цитата: 
	
 Подскажите лучше по-поводу последнего пункта: -Все гласные буквы, которые входят только в одно слово. Как отфильтровать допустим только первый(0) элемент массива, а не весь массив?  | 
	
		
 HelloDarkness, 
	наверно так вам будет проще 
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>
<body>
<script>
function blender(letters, words, select) {
    return letters.filter(function(letter) {
        var num = words.reduce(function(sum, word) {
            word.toLowerCase().indexOf(letter.toLowerCase()) != -1 && sum++
            return sum
        },0)
        return select(num)
    })
};
var test = blender(["А", "Я", "О", "Ё", "У", "Ю", "Ы", "И", "Э", "Е"], ["которые", "входят", "каждое", "слово"], function(num) {
   return num == 4   //это длина массива слов
})
alert(test);//буквы которые входят в каждое слово [O]
test = blender(["А", "Я", "О", "Ё", "У", "Ю", "Ы", "И", "Э", "Е"], ["которые", "входят", "каждое", "слово"], function(num) {
   return num == 0
})
alert(test);//буквы которых нет в каждом слове [Ё,У,Ю,И,Э]
test = blender(["А", "Я", "О", "Ё", "У", "Ю", "Ы", "И", "Э", "Е"], ["которые", "входят", "каждое", "слово"], function(num) {
   return num > 0
})
alert(test);//буквы которые есть хотябы в одном слове [А,Я,О,Ы,Е]
var test = blender(["А", "Я", "О", "Ё", "У", "Ю", "Ы", "И", "Э", "Е"], ["которые", "входят", "каждое", "слово"], function(num) {
   return num == 3
})
alert(test);//буквы которыx нет только в 1 слове []
</script>
</body>
</html>
 | 
	
		
 Цитата: 
	
 или [["которые", "входят", "каждое", "слово"] [0]]  | 
	
		
 Цитата: 
	
 Мне же нужно что бы данные брались из текстового поля... <input type="text" value="(слова которые введет пользователь, через запятую)" name ="ddata"> <script> var array = document.ddata.value.split(', ") </script> то есть мы получаем массив, но мы не знаем заранее что это за массив и из скольких элементов он будет состоять...  | 
| Часовой пояс GMT +3, время: 11:52. |