原生 JavaScript 数据处理(数组去重,数组对象去重,对象合并,数组近似率处理)

        在前端开发中,数据处理是不可避免的一项任务。本文将介绍几种常见的数据处理方法,包括数组去重、数组对象去重、对象合并、数组近似率处理。

数组去重

        数组去重是指将数组中重复的元素去掉,只保留其中一个。在 JavaScript 中,可以使用 Set 数据结构或者 Array.prototype.filter() 方法来实现数组去重。

  1. 使用 Set 数据结构
    let arr = [1, 2, 3, 3, 4, 4, 5];
    let uniqueArr = [...new Set(arr)];
    console.log(uniqueArr); // [1, 2, 3, 4, 5]
    
  2. 使用 Array.prototype.filter() 方法
    let arr = [1, 2, 3, 3, 4, 4, 5];
    let uniqueArr = arr.filter((item, index, self) => {
      return self.indexOf(item) === index;
    });
    console.log(uniqueArr); // [1, 2, 3, 4, 5]
    

数组对象去重

        数组对象去重是指将数组中重复的对象去掉,只保留其中一个。在 JavaScript 中,可以使用 Array.prototype.reduce() 方法和 Map 数据结构来实现数组对象去重。

  1. 使用 Array.prototype.reduce() 方法
    let arr = [
      {id: 1, name: '张三'},
      {id: 2, name: '李四'},
      {id: 1, name: '张三'},
      {id: 3, name: '王五'}
    ];
    let uniqueArr = arr.reduce((prev, cur) => {
      let ids = prev.map(item => item.id);
      if (ids.indexOf(cur.id) === -1) {
        prev.push(cur);
      }
      return prev;
    }, []);
    console.log(uniqueArr);
    // [{id: 1, name: '张三'}, {id: 2, name: '李四'}, {id: 3, name: '王五'}]
    
  2. 使用 Map 数据结构
    let arr = [
      {id: 1, name: '张三'},
      {id: 2, name: '李四'},
      {id: 1, name: '张三'},
      {id: 3, name: '王五'}
    ];
    let map = new Map();
    let uniqueArr = [];
    for (let item of arr) {
      if (!map.has(item.id)) {
        map.set(item.id, true);
        uniqueArr.push(item);
      }
    }
    console.log(uniqueArr);
    // [{id: 1, name: '张三'}, {id: 2, name: '李四'}, {id: 3, name: '王五'}]
    

对象合并

        对象合并是指将多个对象合并成一个对象。在 JavaScript 中,可以使用 Object.assign() 方法或者展开运算符来实现对象合并。

  1. 使用 Object.assign() 方法
    let obj1 = {name: '张三', age: 18};
    let obj2 = {gender: '男', hobby: '篮球'};
    let newObj = Object.assign({}, obj1, obj2);
    console.log(newObj);
    // {
    

数组近似率处理

     数组近似率处理是指对两个数组进行比较,找出其中相似的元素。在 JavaScript 中,可以使用 Array.prototype.filter() 方法和 Array.prototype.includes() 方法来实现数组近似率处理。

let arr1 = [1, 2, 3, 4, 5];
let arr2 = [2, 4, 6, 8, 10];
let similarArr = arr1.filter(item => arr2.includes(item));
console.log(similarArr); // [2, 4]

总结

        本文介绍了常见的几种数据处理方法,包括数组去重、数组对象去重、对象合并、数组近似率处理。在实际开发中,根据具体情况选择合适的方法可以提高代码的可维护性和执行效率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值