Javascript Linq仅在Internet Explorer中创建错误

Javascript Linq仅在Internet Explorer中创建错误,javascript,jquery,linq,internet-explorer,Javascript,Jquery,Linq,Internet Explorer,我有一个包含LINQ表达式的函数,它计算我在数组中显示元素的次数,该函数在Edge、Chrome、FireFox中运行良好,但每当我尝试在Internet Explorer 10和11中运行它时,我都会遇到语法错误 有没有一种jquery方法可以支持InternetExplorer或其他解决方案我的功能: //Counts number of times the value is present in the array function countInArray(array, value

我有一个包含LINQ表达式的函数,它计算我在数组中显示元素的次数,该函数在Edge、Chrome、FireFox中运行良好,但每当我尝试在Internet Explorer 10和11中运行它时,我都会遇到语法错误

有没有一种jquery方法可以支持InternetExplorer或其他解决方案
我的功能:

 //Counts number of times the value is present in the array
  function countInArray(array, value) {
    return array.reduce((n, x) => n + (x === value), 0);
  }
尝试按Satpal建议的方式执行会导致相同的错误:

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

语法错误似乎出现在“=>”

处,我不想处理我解决的IE

即使

return array.reduce((n, x) => n + (x === value), 0);
是整洁的,它在IE中不起作用,所以我只是用一个forloop来代替

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

  }
函数countInArray(数组,值){
var计数=0;
对于(变量i=0;i
获取计数的正确回调是

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

必须是由于ES6的arrow函数,使用
array.reduce(函数(n,x){….})看到错误会很有帮助,尽管Satpal的评论很可能是正确的解决方案这与LINQ有什么关系?这是纯JS的,我会尝试一下,并在一秒钟内给出反馈,所有的错误都是“第行的语法错误…”,所以我怀疑我会更有帮助:-)