openList = Array([1,1], [2,3], [4,5]);
containss = function (input, arrayData, tellID) {
for (i = 0; i < arrayData.length; i++) {
if (arrayData[i] == input) {
if (tellID) {
return i;
} else {
return true;
}
}
}
return false;
}
trace(containss([2,3], openList, true));
Этот код возвращает false, когда openList содержит 2,3. Когда я добавляю трассировку (arrayData [i]), я получаю 1,1 2,3 4,5, и когда я трассирую (ввод), я получаю 2,3. Что не так? БлагодаряСоздание функции, которая проверяет, содержит ли массив что-то
ОК, что я должен использовать вместо этого? Я пробовал ===, но это также дает ложь. – apscience
Самый простой способ сделать это, если массивы должны иметь одинаковые элементы в одном порядке - array1.toString() == array2.toString() –
Если порядок не важен, а массивы должны иметь только те же элементы в любом вам может потребоваться написать пользовательскую функцию для этого –