在寻求确保数值数组中元素的唯一性时,编码人员经常会偶然发现以下代码片段:
Array.prototype.getUnique = function() { var o = {}, a = [], i, e; for (i = 0; e = this[i]; i++) {o[e] = 1}; for (e in o) {a.push (e)}; return a; }
虽然此脚本在大多数情况下都能完美运行,但当数组包含为零,留下改进的空间。为了解决这个问题,让我们深入研究一下与 Stack Overflow 上类似但有弹性的脚本的比较:
function onlyUnique(value, index, array) { return array.indexOf(value) === index; } // Example usage: var a = ['a', 1, 'a', 2, '1']; var unique = a.filter(onlyUnique); console.log(unique); // ['a', 1, 2, '1']
在 JavaScript 1.6(或 ECMAScript 5)中,filter 方法提供了一种更有效的方法来遍历数组并提取唯一值:
通过将此更新的方法合并到您的代码中,您可以有效地确保您的 JavaScript 数组不包含冗余元素,即使存在零也是如此。
以上是如何有效地从 JavaScript 数组中删除重复值(包括零)?的详细内容。更多信息请关注PHP中文网其他相关文章!