Je suis coincé en essayant de filtrer un tableau en utilisant la méthode Array.filter.String indexOf always return -1
S'il vous plaît jeter un coup d'oeil dans mon code:
$scope.products = CachedData.Products.filter(function (item) {
var itemNameSlug = Helpers.slug(item.Name); // eg: product100
var keywordSlug = Helpers.slug($scope.keyword); // eg: p, pr, pro, duct etc...
var result = itemNameSlug.indexOf(keywordSlug);
console.log(result); // always -1
return result > -1;
});
Lorsque je tape comme mot-clé alphabet, il retourne toujours tableau vide (ce retour indexOf -1). Si je tape numérique, l'exemple est 1 ou 10 ou 100 ou 00, j'ai obtenu le résultat correct.
Pourquoi?
Toute aide sera appréciée. Merci
quel est le résultat de console.log ($ scope.keyword, Helpers.slug ($ scope.keyword))? –
Les deux sont des chaînes. S'il vous plaît voir le commentaire dans mon code – trinvh
clairement, ils ne sont pas les deux chaînes, sinon le résultat ne serait pas toujours -1 –