2017-06-20 10 views
2

LINQ式を含む関数があります。配列内に要素が何回存在するかを数えます。関数はEdge、Chrome、FireFoxでうまく動作しますが、それはInternet Explorer 10で& & 11構文エラーが表示されます。Internet ExplorerでLinq作成エラーのみ

Internet Explorerやその他の回避策をサポートするjqueryの方法がありますか?
My機能:Satpalが提案道にそれをやろうとし

//Counts number of times the value is present in the array 
    function countInArray(array, value) { 
    return array.reduce((n, x) => n + (x === value), 0); 
    } 

は同じエラーを発生させた:

function countInArray(array, value) { 
    return array.reduce(function (n, x) { (n, x) => n + (x === value), 0 }); 
    } 

構文エラーは、 "=>"

+2

ES6の矢印機能が原因である必要があります。「array.reduce(function(n、x){.....});」を使用してください – Satpal

+0

エラーが表示されます役に立ったと思っていますが、Satpalのコメントが正しい解決策である可能性が最も高いです –

+1

これはLINQにどのように関連していますか?これは純粋なjs –

答えて

1

数を取得するための右のコールバックは

function countInArray(array, value) { 
    return array.reduce(function (n, x) { // equivalent to (m, x) => 
     return n + (x === value);   //    n + (x === value) 
    }, 0); 
} 
あるforloopでそれを作りました
0

はしたくないにあるように見えますIEと対処しました。

return array.reduce((n, x) => n + (x === value), 0); 

がきちんとある

にもかかわらず、それはIEで動作しませんでしたので、私はちょうど代わり

function countInArray(array, value) { 
    var count = 0; 
    for (var i = 0; i < array.length; ++i) { 
     if (array[i] == value) 
     count++; 
    } 
    return count; 

    } 
関連する問題