Je travaille avec Titanium, mon code ressemble à ceci:
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;
}
Je passe un index au tableau currentData
. Je ne parviens toujours pas à détecter un élément inexistant à l'aide du code ci-dessus.
javascript
titanium
titanium-mobile
Pradeep
la source
la source
&&
) entre les conditions individuelles.Réponses:
Utilisation
typeof arrayName[index] === 'undefined'
c'est à dire
la source
if(arrayName[index] === 'undefined')
comme raccourciif(arrayName[index] === undefined)
.la source
if(myArray.indexOf(searchTerm) === -1)
Quelqu'un, s'il vous plaît, corrigez-moi si je me trompe, mais AFAIK, ce qui suit est vrai:
hasOwnProperty
"héritée" deObject
hasOwnProperty
peut vérifier si quelque chose existe à un index de tableau.Donc, tant que ce qui précède est vrai, vous pouvez simplement:
const arrayHasIndex = (array, index) => Array.isArray(array) && array.hasOwnProperty(index);
usage:
arrayHasIndex([1,2,3,4],4);
les sorties:false
arrayHasIndex([1,2,3,4],2);
les sorties:true
la source
J'ai dû envelopper la réponse de techfoobar dans un bloc
try
..catch
, comme ceci:... c'est de cette façon que cela fonctionnait dans le chrome (sinon, le code s'est arrêté avec une erreur).
la source
arrayName
elle-même (ouindex
) n'existait pas. Le simple accès à un élément de tableau non défini n'aurait pas dû entraîner une "erreur"?Si les éléments du tableau sont également des objets ou des tableaux simples, vous pouvez utiliser une fonction:
la source
some
est le moyen le plus moderne ici. Il peut également devenir unmyArray.some(el => el.item === element.item && el.title === element.title)
Considérez le tableau a:
Si vous voulez vérifier si 'name1' existe dans a, testez-le simplement avec
in
:la source
la source
Si vous utilisez underscore.js, ce type de vérification nulle et non définie est masqué par la bibliothèque.
Donc, votre code ressemblera à ceci -
Cela semble beaucoup plus lisible maintenant.
la source
Un moyen simple de vérifier que l'article existe ou non
la source
myArray[1000000] = 'Pear'
alors votre fonction prendra une éternité.À mon avis, cette méthode est la plus simple.
Et peut-être une autre façon de le faire est.
la source
la source
Si vous cherchez quelque chose comme ça.
Voici l'extrait suivant
la source
Array.includes
vérifier si une valeur est un tableau, commedemoArray.indexOf(ArrayIndexValue) !== -1
. cette question consiste à vérifier si l'index existe dans le tableau, ce qui est un problème entièrement différentvous pouvez simplement utiliser ceci:
la source
tmp = [0,0,0,0]
tmp [3] devait existerVérifiez si le deuxième élément du tableau n'est pas défini à l'aide de
typeof
et en vérifiantundefined
la source
Lorsque vous essayez de savoir si un index de tableau existe dans JS, le moyen le plus simple et le plus court de le faire consiste à effectuer une double négation.
la source
C'est exactement à cela que
in
sert l' opérateur. Utilisez-le comme ceci:La réponse acceptée est fausse, elle donnera un faux négatif si la valeur à
index
estundefined
:la source
Si expression booléenne
est vrai alors 0 est contenu dans arr
la source
Cela fonctionne également très bien, en testant par type contre
undefined
.Tester:
la source