Показать сообщение отдельно
  #32 (permalink)  
Старый 26.12.2013, 21:39
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Сообщение от okouser
3) когда достаточно найти лишь вхождение одного элемента из подмассива.
Новый Вариант №3. Хорошая тема,
var a1 = [2, 5, 2, 4, 5, 11, 5, 9, 9];
var a2 = [2, 7, 8, 6, 1, 1];
var a3 = [3, 1];
var a4 = [5];

alert(isValueInArray(a1, a2));
alert(isValueInArray(a1, a3));
alert(isValueInArray(a1, a4));

function isValueInArray(a1, a2) {

    var i = 0,
        j = 0,
        sl, el,
        l1 = a1.length,
        l2 = a2.length,
        len = l1 % 8,
        slen = Math.floor(l1 / 8);

    for (; i < l2; j = 0) {
        
        el = a2[i++];
      
        for (; 0 < len; len--) {
            if (el == a1[j++]) return true;
        }

        for (sl = slen; 0 < sl; sl--) {
            if (
                el == a1[j++] ||
                el == a1[j++] ||
                el == a1[j++] ||
                el == a1[j++] ||
                el == a1[j++] ||
                el == a1[j++] ||
                el == a1[j++] ||
                el == a1[j++])
                return true;
        }

    }
    return false;
}

Последний раз редактировалось Vlasenko Fedor, 27.12.2013 в 04:03.
Ответить с цитированием