Tapuscrit - Comment faire pour vérifier si un index de tableau existe pas?
Je suis en train de vérifier si un index de tableau existe en caractères d'imprimerie, de la façon suivante (Juste pour l'exemple):
var someArray = [];
//Fill the array with data
if ("index" in someArray) {
//Do something
}
Cependant, j'obtiens l'erreur de compilation suivante:
L'opérateur nécessite l'opérande de gauche est de type Tout ou la
Chaîne de type primitif, et l'opérande de droite pour être de type Tout ou une
type d'objet
Quelqu'un sait pourquoi? pour autant que je sais, ce que je suis en train de faire est tout à fait légal en JS.
Grâce.
Vous devriez être en utilisant un objet, pas un tableau.
Est "index", une chaîne ou un index numérique?
une chaîne de caractères. Je suppose que je vais faire ce que SLaks dit, j'ai pensé que tapuscrit les tableaux peuvent être utilisés comme des tableaux associatifs.
Est "index", une chaîne ou un index numérique?
une chaîne de caractères. Je suppose que je vais faire ce que SLaks dit, j'ai pensé que tapuscrit les tableaux peuvent être utilisés comme des tableaux associatifs.
OriginalL'auteur gipouf | 2013-03-31
Vous devez vous connecter pour publier un commentaire.
Comme les commentaires ci, vous avez mélangé les tableaux et les objets. Un tableau peut être consulté par des indices numériques, tandis qu'un objet peut être consulté par des clés de chaîne. Exemple:
logique, si (!("someKey" dans someObject))
OriginalL'auteur metadept
jsFiddle Démo
Utilisation
hasOwnProperty
comme ceci:Object.prototype.hasOwnProperty.call(a, 'index')
explication soignée iciC'est vrai, il ya des façons que le hasOwnProperty pourrait avoir été victime d'abus. Si vous êtes à faire une sorte de largement bibliothèque portable, il peut être judicieux de couvrir toutes les bases comme ça. En général cependant, cela fonctionne bien.
OriginalL'auteur Travis J
Vous pouvez également utiliser le findindex méthode :
OriginalL'auteur abahet