Javascript Linq仅在Internet Explorer中创建错误
我有一个包含LINQ表达式的函数,它计算我在数组中显示元素的次数,该函数在Edge、Chrome、FireFox中运行良好,但每当我尝试在Internet Explorer 10和11中运行它时,我都会遇到语法错误 有没有一种jquery方法可以支持InternetExplorer或其他解决方案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
我的功能:
//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的,我会尝试一下,并在一秒钟内给出反馈,所有的错误都是“第行的语法错误…”,所以我怀疑我会更有帮助:-)