2017-10-07 3 views
0

J'ai posé cette question il y a quelques jours: Jquery grep or map object array with multiple search criterias Et j'ai rapidement obtenu deux réponses très prometteuses. Hélas, ils ont tous deux me donnent l'erreur suivante dans console.log:JQuery: Pourquoi ".filter n'est pas une fonction" dans ce script?

products.filter est pas une fonction

Ceci est l'un des scénarios prometteurs que je recevais: J'ai collé le script dans mon éditeur inchangé et il ne fonctionnera pas du tout. Même si l'extrait de code s'exécute dans le message auquel je suis associé.

const productIds = '07.1438, 01,1340, 05,04531, 02.0135'; 
 

 
    const products = [{AdminID: 137, ProduktID: "07.1438", itemName: "Repaplast", itemColor: "0000, 5030", MalKode: "1-3",},{AdminID: 6, ProduktID: "07.1436", itemName: "Repaplast grå", itemColor: "0070", MalKode: "1-3",},{AdminID: 146, ProduktID: "90.0905", itemName: "Mixer Gun", itemColor: null, MalKode: "",},{AdminID: 89, ProduktID: "02.0135", itemName: "Repaplast Primer NEW FORMULA", itemColor: "", MalKode: "5-3",}]; 
 

 
    var result = products.filter(o => productIds.split(',').find(productId => o.ProduktID === productId.trim())); 
 

 
    console.log(result);

J'ai literately parcouru le net pour une solution, mais je ne peux pas trouver quoi que ce soit à distance à proximité d'une réponse. Je me tourne donc une fois de plus vers les esprits brillants de Stackoverflow. Quelqu'un peut-il en anglais ordinaire essayer de m'expliquer ce qui ne va pas dans cette image?

edit: Ce navigateur est-il dépendant? Je lance Dreamweaver cs6 en tant que mon éditeur préféré. J'ai testé le script live en chrome et Opera. Si cela dépend du navigateur, il se peut que je doive chercher une autre solution, car cela se passe sur le site Web de mon entreprise, et je ne peux pas contrôler le navigateur préféré de l'utilisateur.

J'ai vraiment besoin de résoudre ce que j'ai passé une semaine sur cette chose et ça me rend fou. Merci d'avance.

+0

Vous devez exécuter le code dans un navigateur compatible ES6 tel que Firefox ou Chrome, car il utilise la syntaxe de flèche ES6 pour la déclaration de fonction. On dirait que vous utilisez peut-être un Internet Explorer (qui suce complètement et complètement par rapport aux deux mentionnés). – connexo

+0

Fonctionne bien comme vous pouvez le voir dans les extraits de la pile. Peut-être qu'il vous manque des polyfills? –

+0

Je l'utilise dans Chrome et Opera. Et mon éditeur préféré est DreamWeaver cs6. Voulez-vous dire que ce script dépend du navigateur? Ensuite, j'ai un problème majeur. Ce script va sur ma page d'accueil et je ne peux pas contrôler quel navigateur mes utilisateurs préfèrent ..... soupir – XanderMan

Répondre

0

Tout d'abord, merci pour toute aide précieuse et astuces. Le commentaire "navigateur compatible ES6" m'a fait penser que Dreamweaver faisait partie du problème. Il semble que l'éditeur lance une erreur qui n'est tout simplement pas là.

En outre: J'ai encore besoin de bricoler certains sur les scripts que j'utilise JSON.object (ou quel que soit le terme correct) comme source de données et comme source du filtre.

J'ai enfin réussi à faire fonctionner le script. Encore une fois., Merci.