У меня есть массив, который я пытаюсь сравнить, чтобы увидеть, находятся ли значения в массиве 1 в любом из массивов внутри объекта:
arr1 = [9]
obj1 = {Cards: [8,5], Loans: [], Shares: [0,9,25]}
Я использую JavaScript (ECMAScript 5), чтобы попытаться это сделать, все, что мне нужно, это true
, чтобы быть возвращенным, если любое из значений в arr1
найдено внутри obj1
.
Что я пробовал:
function arraysEqual(_arr1, _arr2) {
if (!Array.isArray(_arr1) || !Array.isArray(_arr2) || _arr1.length !== _arr2.length)
return false;
var arr1 = _arr1.concat().sort();
var arr2 = _arr2.concat().sort();
for (var i = 0; i < arr1.length; i++) {
if (arr1[i] !== arr2[i])
return false;
}
return true;
}
Это, однако, просто проверит, чтобы определить, являются ли массивы конкретными, поэтому я должен вызвать это три раза, чтобы проверить значения, даже если это все равно будет возвращаться false
, когда я попытаюсь:
arraysEqual(arr1, obj1.Shares)
Хотелось бы, чтобы это было сделано одним звонком