Estoy trabajando con Titanium, mi código se ve así:
var currentData = new Array();
if(currentData[index]!==""||currentData[index]!==null||currentData[index]!=='null')
{
Ti.API.info("is exists " + currentData[index]);
return true;
}
else
{
return false;
}
Estoy pasando un índice a la matriz currentData
. Todavía no puedo detectar un elemento no existente usando el código anterior.
javascript
titanium
titanium-mobile
Pradeep
fuente
fuente
&&
) entre las condiciones individuales.Respuestas:
Utilizar
typeof arrayName[index] === 'undefined'
es decir
fuente
if(arrayName[index] === 'undefined')
como atajoif(arrayName[index] === undefined)
.fuente
if(myArray.indexOf(searchTerm) === -1)
Alguien corríjame si estoy equivocado, pero AFAIK lo siguiente es cierto:
hasOwnProperty
"heredado" deObject
hasOwnProperty
puedo verificar si existe algo en un índice de matriz.Entonces, siempre que lo anterior sea cierto, simplemente puede:
const arrayHasIndex = (array, index) => Array.isArray(array) && array.hasOwnProperty(index);
uso:
arrayHasIndex([1,2,3,4],4);
salidas:false
arrayHasIndex([1,2,3,4],2);
salidas:true
fuente
Tuve que ajustar la respuesta de techfoobar en un
try
..catch
bloque, así:... así es como funcionaba en Chrome, de todos modos (de lo contrario, el código se detuvo con un error).
fuente
arrayName
sí (oindex
) no existiera. ¿Simplemente acceder a un elemento de matriz indefinido no debería haber resultado en un "error"?Si los elementos de la matriz también son objetos simples o matrices, puede usar alguna función:
fuente
some
es el camino más moderno por aquí. También puede convertirse en unamyArray.some(el => el.item === element.item && el.title === element.title)
Considere la matriz a:
Si desea verificar si 'name1' existe en a, simplemente pruébelo con
in
:fuente
fuente
Si usa underscore.js, la biblioteca oculta este tipo de verificación nula e indefinida.
Entonces su código se verá así:
Parece mucho más legible ahora.
fuente
Manera simple de verificar si el artículo existe o no
fuente
myArray[1000000] = 'Pear'
tu función?Este camino es el más fácil en mi opinión.
Y tal vez otra forma de hacerlo es.
fuente
fuente
Si buscas algo como esto.
Aquí está el siguiente fragmento
fuente
Array.includes
de comprobar si un valor es una matriz, comodemoArray.indexOf(ArrayIndexValue) !== -1
. esta pregunta es acerca de la comprobación si existe el índice de la matriz, que es un problema totalmente diferentesimplemente puedes usar esto:
fuente
tmp = [0,0,0,0]
entonces tmp [3] debería existirCompruebe si el segundo elemento de la matriz está indefinido utilizando
typeof
y comprobandoundefined
fuente
Al intentar averiguar si existe un índice de matriz en JS, la forma más fácil y más corta de hacerlo es a través de la doble negación.
fuente
Para esto es exactamente el
in
operador. Úselo así:La respuesta aceptada es incorrecta, dará un falso negativo si el valor en
index
esundefined
:fuente
Si expresión booleana
es cierto, entonces 0 está contenido en arr
fuente
Esto también funciona bien, probando por tipo contra
undefined
.Prueba:
fuente