73 votes

Vérifier si une valeur existe dans un tableau Flutter dart

Je suis en train de vérifier la condition

if (value in List) {
  exist
} else { 
  not exist
}

mais rien pour aider quelqu'un ayant une idée alors s'il vous plaît partagez.

Ma liste = _quantityController[];

itemId est un entier

Je veux vérifier si mon ID d'article existe dans mon tableau de liste ou non...Merci!

0 votes

Quel type d'élément avez-vous dans votre liste ? Pouvez-vous mettre à jour votre question avec plus de contexte ?

0 votes

J'ai une liste comme List _itemController = [16,18]; int itemId = 16; Je veux vérifier si itemId existe dans _quantityController ou non?

174voto

Zroq Points 3004
list.contains(x);

Méthode contains

0 votes

Méthode parfaite et puissante. Fonctionne également pour détecter les sous-chaînes.

24voto

Abdullah Khan Points 501

Au-dessus se trouvent les bonnes réponses à la question actuelle. Mais si quelqu'un comme moi est ici pour vérifier la valeur à l'intérieur d'une liste d'objets de classe, voici la réponse.

class DownloadedFile {
 String Url;
 String location;
}

Liste de DownloadedFile

List listOfDownloadedFile = List();
listOfDownloadedFile.add(...);

Maintenant vérifiez si une valeur spécifique se trouve dans cette liste

var contain = listOfDownloadedFile.where((element) => element.Url == "votre lien URL");
if (contain.isEmpty)
   //la valeur n'existe pas
else
  //la valeur existe

Il peut y avoir une meilleure manière/approche. Si quelqu'un sait, faites-le moi savoir. :)

2 votes

Exactement ce que je cherchais. Cela fonctionne. Merci Abdullah!

0 votes

Le contenu devrait fonctionner, cependant je ne sais pas pourquoi cela ne fonctionnait pas pour moi où ma liste est une liste d'objets. Cette méthode a fonctionné pour moi, merci beaucoup.

0 votes

Si cela existe, retourne l'objet entier. Pouvons-nous obtenir simplement celui que nous cherchions?

16voto

Mikki Points 3739
List values = [1, 2, 3, 4];
values.contains(1); // true
values.contains(99); // false   

Méthode - Contains de Iterable fait exactement ce dont vous avez besoin. Voir l'exemple ci-dessus.

8voto

Sayka Points 435

Vérification du tableau d'objets de classe

Mieux que l'approche d'Abdullah Khan est d'utiliser any au lieu de where car where fait que le tableau soit complètement scanné. Any s'arrête lorsqu'il en trouve un.

class FichierTelecharge {
 String Url;
 String emplacement;
}

List fichiers = [];
bool existe = fichiers.any((fichier) => fichier.Url == "");

5voto

Abhishek Kumar Points 31

Voici un exemple complet

void main() {
  List fruits = ['Pomme', 'Banane', 'Mangue'];

  bool isPresent(String fruitName) {
    return fruits.contains(fruitName);
  }

  print(isPresent('Pomme')); // true
  print(isPresent('Orange')); // false
}

2 votes

Qu'obtenez-vous lorsque votre réponse utilise uniquement le contenu des réponses existantes ? Vous n'obtiendrez pas de votes si vous vous contentez de refacturer un code.

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