我正在为初级前端开发人员出常见的面试问题。一个常见问题是如何从 JavaScript 数组中删除重复项。
假设是使用以下数组:
const withDuplicates = ["dog", "cat", "dog", "cow", "dog", "cat"]
为了保持数组里的值唯一,我们可以这么做:
const uniqueValues = [...new Set(withDuplicates)]
// it will return ["dog", "cat", "cow"]
它只适用于数值,不适用于对象。
Set 是一种 Javascript 数据结构,其主要目的是作为不可重复数据的容器。
通过使用解构数组初始化 Set,我们传递实际值,Set 将自动删除重复项。最后,我们通过把它包装在方括号中将其转换回数组。
Set 是在 2015 年由 ES6 版本的 Javascript 添加的。
不使用 ES6 Set,使用原先解决方案
在没有ES6 Set的时候,我们只能使用以下代码来执行此操作:
function remove_duplicates(arr) {
var obj = {};
var ret_arr = [];
for (var i = 0; i < arr.length; i++) {
obj[arr[i]] = true;
}
for (var key in obj) {
ret_arr.push(key);
}
return ret_arr;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 xxx@163.com 举报,一经查实,本站将立刻删除。