JavaScript数组对象去重:使用reduce()方法根据id判断相同对象
"JavaScript数组对象去重:使用reduce()方法根据id判断相同对象"\n\n本文介绍了使用JavaScript的Array.prototype.reduce()方法来实现根据id判断数组对象中重复元素的技巧。通过示例代码展示了如何利用reduce()、Object.values()和filter()方法进行去重操作,并分析了代码执行过程和结果。\n\n使用Array.prototype.reduce()方法来实现根据id判断相同的对象,具体步骤如下:\n\n1. 首先,使用reduce()方法遍历数组,将每个对象的id作为键,将对象本身作为值存储在一个新的对象中。\n\n2. 然后,使用Object.values()方法将新的对象转换为一个包含所有对象的数组。\n\n3. 最后,使用Array.prototype.filter()方法过滤数组,只保留具有相同id的对象。\n\n下面是一个示例代码:\n\njavascript\nconst arr = [\n { id: 1, name: 'John' },\n { id: 2, name: 'Jane' },\n { id: 1, name: 'Alice' },\n { id: 3, name: 'Bob' },\n { id: 2, name: 'Kate' }\n];\n\nconst result = Object.values(arr.reduce((acc, obj) => {\n acc[obj.id] = acc[obj.id] || obj;\n return acc;\n}, {})).filter(obj => arr.filter(item => item.id === obj.id).length > 1);\n\nconsole.log(result);\n\n\n以上代码输出的结果是:\n\njavascript\n[\n { id: 1, name: 'John' },\n { id: 2, name: 'Jane' }\n]\n\n\n这里的结果是根据id判断相同的对象,并返回了id为1和2的两个对象。
原文地址: https://www.cveoy.top/t/topic/qeKJ 著作权归作者所有。请勿转载和采集!