| Задача. На вход функции подаются некоторое количество массивов. Функция ищет такие элементы, которые есть в каждом массиве. Возвращает массив из этих элементов. Из этого [ [1,2,3,6],[1,2,6],[1,2,5,6] ] нужно получить вот это -> [1,2,6]. Вот код: function intersect(){ var args = [].slice.call(arguments,0);//Получает все массивы из функции var mass = []; var stroka=""; //Переводим все числа в строки и записываем в массив for(var i=0;i<args.length;i++) {for(var j=0;j<args[i].length;j++) { stroka = stroka + args[i][j]; if(j==args[i].length-1) { mass.push(stroka); stroka = ""; } } } //Вот сама загвоздка, сравниваю первый элемент массива со 2, 3й и тд массива mass и записываю в новый mass2, если //n = кол-ву элементов массива var i=0; var n=0; var mass2=[]; for(var j=1;j<args.length;j++) {if(mass[j].indexOf(args[0][i])){i++;n++; if(n==args.length)mass2.push(args[0][i]); }} return mass2; } alert(intersect([1,2,3,6],[1,2,6],[1,2,5,6])); |