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.

2voto

Mohammed Jafar Points 367
var fruits = ["Banana", "Orange", "Apple", "Mango"];
if(fruits.indexOf("Banana") == -1){
    console.log('item not exist')
} else {
    console.log('item exist')
}

2voto

Cryptopat Points 119

Cela fonctionne également très bien, en testant par type en utilisant === contre undefined .

if (array[index] === undefined){ return } // True

Test :

const fruits = ["Banana", "Orange", "Apple", "Mango"];

if (fruits["Cherry"] === undefined){
  console.log("There isn't any cherry in the fruits basket :(")
}

Ou de la même manière :

const fruits = ["Banana", "Orange", "Apple", "Mango"];

if (!fruits["Cherry"]){
  console.log("There isn't any cherry in the fruits basket :(")
}

// No errors: 
if (fruits["Cherry"]){
  console.log("There is some cherry in there!")
}

1voto

vatsal Points 610

Si vous utilisez underscore.js alors ce type de contrôle nul et indéfini est caché par la bibliothèque.

Donc votre code ressemblera à ceci -

var currentData = new Array();

if (_.isEmpty(currentData)) return false;

Ti.API.info("is exists  " + currentData[index]);

return true;

Il est beaucoup plus lisible maintenant.

1voto

AmJustSam Points 223

Cette méthode est la plus simple à mon avis.

var nameList = new Array('item1','item2','item3','item4');

// Using for loop to loop through each item to check if item exist.

for (var i = 0; i < nameList.length; i++) {
if (nameList[i] === 'item1') 
{   
   alert('Value exist');
}else{
   alert('Value doesn\'t exist');
}

Et peut-être qu'une autre façon de le faire est.

nameList.forEach(function(ItemList)
 {
   if(ItemList.name == 'item1')
        {
          alert('Item Exist');
        }
 }

1voto

Suhail Ahmed Points 300

Un moyen simple de vérifier si un élément existe ou non

Array.prototype.contains = function(obj) {
    var i = this.length;
    while (i--)
       if (this[i] == obj)
       return true;
    return false;
}

var myArray= ["Banana", "Orange", "Apple", "Mango"];

myArray.contains("Apple")

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