javascript - La méthode inArray de Jquery ne prend-elle pas en charge l'évaluation des objets?
漂亮男人
漂亮男人 2017-05-19 10:23:32
0
3
916

Cela fonctionne lorsque l'élément du tableau est un nombre ou une chaîne, mais pas lorsqu'il s'agit d'un objet

漂亮男人
漂亮男人

répondre à tous(3)
Ty80

Les objets en js sont des valeurs de type référence, et la comparaison de deux objets est la comparaison des adresses mémoire référencées. Tout comme le code suivant :

var obj1={};
var obj2={};
obj1===obj2     //false

Bien que ces deux objets semblent égaux, ils font référence à des objets différents dans la mémoire du tas, ils ne sont donc pas égaux.

L'implémentation de inArray devrait consister à parcourir le tableau, à comparer chaque élément du tableau avec la valeur cible, si elle est égale, à renvoyer la valeur d'index, si elle n'est pas égale, à renvoyer -1 Pour les raisons ci-dessus, deux séparément. références d'objet déclarées Les valeurs ne sont pas égales, donc -1 est renvoyé.

阿神

Il est généralement entendu qu'un tableau est un objet, mais l'objet n'est pas nécessairement un tableau. inArray fonctionne sur les tableaux

習慣沉默

Dans le code source, isArray : Array.isArray est utilisé. Il peut également contenir des objets à l'intérieur, mais la couche externe doit être [].

var obj = [{a:1}];
console.log(Array.isArray(obj))  // true
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!