js实现对象数组去重

编程入门 行业动态 更新时间:2024-10-24 04:31:08

js实现对象<a href=https://www.elefans.com/category/jswz/34/1771288.html style=数组去重"/>

js实现对象数组去重

数组去重,一般会在面试的时候才会碰到,要求手写数组去重方法的代码。如果是被提问到,数组去重的方法有哪些?你能答出其中的10种,面试官很有可能对你刮目相看。

在实际项目中碰到的数组去重,一般都是后台去处理,很少让前端处理数组去重。虽然运用到的概率较低,但还是需要了解一下,以防面试的时候被问到。

在项目中定义对象数组是非常常见的,这就免不了要对对象数组进行去重。当然不能简单的使用===来解决问题,因为这时候数组中的类型为对象类型,即使完全相同的两个对象也不相等的。下面的例子说明一切:

1.数字数组去重

var arr = [11,11,22,33]
function unique(arr) {return arr.filter(function (ele, index, array) {return array.indexOf(ele) === index})
}
unique(arr);

2.对象数组去重

var objArr = [{name:1,num:1},{name:1,num:1},{name:2,num:2}];
const removeDuplicateObj = (arr) => {let obj = {};arr = arr.reduce((newArr, next) => {obj[next.id] ? "" : (obj[next.id] = true && newArr.push(next));return newArr;}, []);return arr;
};
removeDuplicateObj(objArr);

3. 将字符串转成数组

Array.from("将字符串转成数组");//["将", "字", "符", "串", "转", "成", "数", "组"]

4.找到数组的最大和最小值,仅适用于单数字数组

let min = arr.sort((a, b) => a - b)[0];
let max = arr.sort((a, b) => b - a)[0];

5.将一个数组中的每个undefined,‘’,0,false,null的元素过滤掉

let list = [1, "", undefined, 11341];
arr.filter(Boolean); //[1,11341]

更多推荐

js实现对象数组去重

本文发布于:2023-11-15 03:03:41,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1592626.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数组   对象   js

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!