Показать сообщение отдельно
  #1 (permalink)  
Старый 23.12.2013, 10:39
Новичок на форуме
Отправить личное сообщение для SWin Посмотреть профиль Найти все сообщения от SWin
 
Регистрация: 03.12.2013
Сообщений: 8

Перебор массива - вложенный цикл
Не могу понять где ошибки.
Задача:
необходимо написать функцию, которая проверяла - содержаться ли элементы массива array 2 в массиве array 1 и в зависимости от этого возвращала булевое значение.

Решение (неработающее):
Создаю два цикла:
-внешний цикл перебирает значения array1 и присваивает их var arrayElem, которая передаётся во внутренний цикл;
-во внутреннем цикле перебираются значения array2 и сравниваются с var arrayElem;
-если значения равны то array2[j] помещаеться в пустой массив matchArray;
-если длина массива matchArray === длине массива array2 возвращаеться true, иначе false.

Код:
function contains(array1, array2) {
	"use strict";
	array1 = [1, 2, 3, 4, 5];
	what = [1, 2, 3];
	var matchArray = [];

	for (var i = 0; i < array1.length; i++) {
		var arrayElem = array1[i];
		for (var j = 0; j < what.length; i++) {
			if (what[j] === arrayElem) {
				matchArray.push(what[j]);
			}
		}
	}
	if (matchArray.length === what.length) {
		return true;
	} else {
		return false;
	}
}
Ответить с цитированием