У меня есть массив, определенный как так:IndexOf возвращает -1 для значения, которое существует в массиве
var numeric = [{ Value: "0" }, { Value: "1" }, { Value: "2" }, { Value: "3" }];
Я пытаюсь определить, является ли конкретное значение существует в этом массиве. Я пробовал все следующие строки, которые все возвращают -1
.
numeric.indexOf(1);
numeric.indexOf("1");
numeric.indexOf({Value: "1"});
Предположим, что у меня нет контроля над тем, как определяется массив. Как определить, существует ли значение в этом конкретном типе массива?
Напишите свою собственную функцию, которая проходит через массив и проверяет, соответствует ли значение свойства 'Value' вашим параметрам. 'indexOf' только проверяет, содержит ли массив значение, оно не является« сложным »или умным. –
Имейте в виду, что' new Object === new Object' возвращает 'false', объекты равны, только если ссылка одинаков. – Nit
@meder Да, я просто стараюсь избегать добавления вспомогательной функции, чтобы мой код был чистым, насколько это возможно. Если это не проблема (это не домашнее задание с произвольными требованиями) – tnw