Как сравнить 2 строки и если есть хотя бы одно общее слово, то true 
		
		
		
		есть 4 строки 
	text1="мама мыла раму [[совсем другую раму]] папу" text2="раму вертолет" text3="другую" text4="[[совсем другую раму]]" нужно сравнить 2 строки и если есть хоть одно совпадающее слово вернуть true. При этом слово в квадратных скобках это целиком одно слово и пробел в нем не считается разделителем слова (скобки это тоже часть слова). То есть сравнивая text1 и text2 мы должны получить true а если text1 и text3 получаем false если text2 и text3 false text1 и text4 true (слова с пробелами всегда в квадратных скобках) наверное мы должны как-то загнать значения в массив  | 
	
		
 sovsem-nub, 
	:-? 
var text1="мама мыла раму [[совсем другую раму]] папу",
text2="раму вертолет",
text3="другую",
text4="[[совсем другую раму]]";
function foo(a, b) {
    var c = /[^\[\]\s]+|(\[\[[\s\S]*?\]\])/g;
    a = a.match(c) || [];
    b = b.match(c) || [];
    return a.some(function(a) {
        return b.some(function(b) {
            return b == a
        })
    })
};
alert(foo(text1,text2));  //true
alert(foo(text1,text3));  //false
alert(foo(text2,text3));  //false
alert(foo(text1,text4));  //true
 | 
	
		
 :(  вообще не понимаю как это работает 
	вы берете две строки, переделываете их в 2 массива a и b а потом как-то сравниваете эти массивы через return a.some(function(a) { return b.some(function(b) { return b == a }) }) что такое return b == a ? что такое a.some(function(a) "a" это же массив. b == a вернет true, если они равны, но как в них отдельное слово попало из массива? и тут нет никакого перебора. взяли один элемент из первого, сравнили с элементом из второго.  | 
	
		
 Цитата: 
	
 https://learn.javascript.ru/array-iteration#every-some  | 
	
		
 Спасибо. Много я еще не знаю. 
	 | 
	
		
 sovsem-nub, 
	тоже самое, может так проще будет понять ... 
var text1="мама мыла раму [[совсем другую раму]] папу",
text2="раму вертолет",
text3="другую",
text4="[[совсем другую раму]]";
function foo(a, b) {
    var c = /[^\[\]\s]+|(\[\[[\s\S]*?\]\])/g;
    a = a.match(c) || [];
    b = b.match(c) || [];
    for (var i = 0; i < a.length; i++) {
        for (var k = 0; k < b.length; k++) {
            if (a[i] == b[k]) return true
        }
    }
    return false
};
alert(foo(text1,text2));  //true
alert(foo(text1,text3));  //false
alert(foo(text2,text3));  //false
alert(foo(text1,text4));  //true
 | 
| Часовой пояс GMT +3, время: 08:16. |