javascript - 如何通过 JavaScript 在 Internet Explorer 11 中仅收集数组中的唯一值?

标签 javascript arrays internet-explorer

在许多文章中,我选择了这种语法来在数组中创建唯一值。

pairs = pre_final_pairs.filter((elem, index) =>  pre_final_pairs.indexOf(elem) === index).join(' ');

这在除 Internet Explorer 11 之外的所有浏览器中都能完美运行。

我试图找出该行中的哪个命令不兼容,我发现可能是indexOf。但即使我尝试应用 How to fix Array indexOf() in JavaScript for Internet Explorer browsers 中提到的“修复”该页面仍然无法在 IE11 中运行。

我还加载了https://code.google.com/archive/p/ddr-ecma5/库以确保 ECMA 命令能够正常工作。

并且仍然得到 SCRIPT1002: Syntax error

您发现命令中有错误的部分吗?

最佳答案

Internet Explorer does support indexOf ,但是does not support arrow functions .

您可以使用常规回调函数轻松修复该问题:

pairs = pre_final_pairs.filter(
    function (elem, index) {
        return pre_final_pairs.indexOf(elem) === index;
    }
).join(' ');

关于javascript - 如何通过 JavaScript 在 Internet Explorer 11 中仅收集数组中的唯一值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41806026/

相关文章:

javascript - 缩放时 css 中的圆形蒙版

javascript - 使用 lodash 查找深度重复值的对象键

javascript - 从数据属性将字符串解析为对象

javascript - 如何将整数添加到二维数组项

arrays - 如何以最轻的大小在文件中存储大量 boolean 值?

javascript - .js 文件适用于 chrome 和 firefox 但不适用于 IE

javascript - 原生 HTML5 拖放功能在 IE11 中不起作用

javascript - jQuery 插件 - 初始化后更新元素

java - 如何将字符串放入对象数组中?

css - 从 http 切换到 https 会导致 CSS 问题