2017-10-07 39 views
0

前几天我问了这个问题: Jquery grep or map object array with multiple search criterias 我很快得到了两个非常有希望的答案。可惜的是,他们俩给我下面的错误中的console.log:JQuery:为什么在这个脚本中“.filter不是函数”?

products.filter是不是一个函数

这是我收到的有前途的脚本之一: 我粘贴了脚本到我的编辑不变,它不会运行。 即使代码片段在我已链接的帖子中运行。

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);

我已经literately搜罗网的解决方案,但我找不到任何远程接近答案。所以我再次转向了Stackoverflow的杰出人士。任何使用纯英文的人都可以向我解释这张图片有什么不对?

编辑:这个浏览器是否依赖? 我将Dreamweaver CS6作为我的首选编辑器运行。我已经在Chrome和Opera中测试了脚本。如果这是依赖于浏览器,我可能不得不寻找另一种解决方案,因为这是在我的公司网站上,我无法控制用户首选的浏览器。

我真的需要解决这个问题,我在这件事上花了一个星期,它让我发疯。先谢谢你。

+0

您需要在支持ES6的浏览器(如Firefox或Chrome)中运行代码,因为它使用ES6的箭头语法进行函数声明。看起来你可能正在使用Internet Explorer(与上述两个相比,它完全和完全吸引人)。 – connexo

+0

正如您在堆栈片段中看到的那样正常工作。也许你错过了一些polyfills? –

+0

我在Chrome和Opera上运行它。我的优先编辑是DreamWeaver cs6。你是说这个脚本是依赖于浏览器吗?然后我有一个重大问题。这个脚本正在我的主页上,我无法控制我的用户喜欢哪个浏览器.....叹气 – XanderMan

回答

0

首先,谢谢所有有价值的帮助和提示。 评论“ES6功能的浏览器”让我觉得Dreamweaver是问题的一部分。编辑器似乎会抛出一个根本就不存在的错误。

此外:我仍然需要修改一些脚本,因为我使用JSON.object(或任何正确的术语可能)作为数据源和过滤器的来源。

我终于得到了脚本的工作。再一次,谢谢。

相关问题