265 votes

Comment vérifier si un index de tableau existe ou non en javascript ?

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 transmets un index à la currentData le tableau. Je ne peux toujours pas détecter un index inexistant en utilisant le code ci-dessus.

5voto

Swiss Mister Points 73

J'ai dû envelopper la réponse de techfoobar dans un try .. catch bloc, comme ça :

try {
  if(typeof arrayName[index] == 'undefined') {
    // does not exist
  }
  else {
  // does exist
  }
} 
catch (error){ /* ignore */ }

...c'est ainsi que cela fonctionnait dans chrome, de toute façon (sinon, le code s'arrêtait avec une erreur).

4voto

Amir Points 376

Considérons le tableau a :

var a ={'name1':1, 'name2':2}

Si vous voulez vérifier si 'nom1' existe dans a, il suffit de le tester avec in :

if('name1' in a){
console.log('name1 exists in a')
}else
console.log('name1 is not in a')

3voto

Yaroslav Fedoruk Points 144

Si les éléments du tableau sont également des objets simples ou des tableaux, vous pouvez utiliser la fonction un peu de fonction :

// search object
var element = { item:'book', title:'javasrcipt'};

[{ item:'handbook', title:'c++'}, { item:'book', title:'javasrcipt'}].some(function(el){
    if( el.item === element.item && el.title === element.title ){
        return true; 
     } 
});

[['handbook', 'c++'], ['book', 'javasrcipt']].some(function(el){
    if(el[0] == element.item && el[1] == element.title){
        return true;
    }
});

3voto

Vikas Kandari Points 116
var demoArray = ['A','B','C','D'];
var ArrayIndexValue = 2;
if(ArrayIndexValue in demoArray){
   //Array index exists
}else{
   //Array Index does not Exists
}

2voto

Geeky Points 5936

Si vous cherchez quelque chose comme ça.

Voici l'extrait suivant

var demoArray = ['A','B','C','D'];
var ArrayIndexValue = 2;
if(demoArray.includes(ArrayIndexValue)){
alert("value exists");
   //Array index exists
}else{
alert("does not exist");
   //Array Index does not Exists
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X