2017-10-07 38 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(或任何正確的術語可能)作爲數據源和過濾器的來源。

我終於得到了腳本的工作。再一次,謝謝。

相關問題