原生 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]

总结

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

你可能感兴趣的:(文件处理,javascript,前端,开发语言)