ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

封装一个函数用来对比原始数组与更新后的数组增加和删除了那些数据

2022-06-09 11:03:08  阅读:134  来源: 互联网

标签:封装 删除 sourceData add let 数组 data newData delete


/**
 * 功能:对比两个纯数组之间的数据差异
 * @param {source_data} sourceData 原始数据(必选)
 * @param {String} newData 更新后的数据(必选)
 * @return {Array} 返回的 add_data, delete_data,更新后的和原始数据对比,所增加的数据和删除的数据
 */
function getAddDelete({ sourceData, newData }) {
  let add_data = [];
  let delete_data = [];
  if (!sourceData.length && !newData.length) return { add_data, delete_data };
  for (let i = 0; i < sourceData.length; i++) {
    if (!newData.includes(sourceData[i])) {
      delete_data.push(sourceData[i]);
    }
  }
  for (let i = 0; i < newData.length; i++) {
    if (!sourceData.includes(newData[i])) {
      add_data.push(newData[i]);
    }
  }
  return { add_data, delete_data };
}
      let source_data = [1, 2, 3, 4, 5, 6]; // 原始数据
      let new_data = [2, 6, 8]; // 更新后的数据
      let data = {
        sourceData: source_data,
        newData: new_data,
      };
      let target = getAddDelete(data)
      /**
       * {
       *  "add_data": [8],
       *  "delete_data": [1, 3, 4, 5]
       * }
       * 
       * 说明:对比后,发现相对与原始数据,新数据增加了数字:8,删除了数字:1, 3, 4, 5
       */
      console.log(target);

 

标签:封装,删除,sourceData,add,let,数组,data,newData,delete
来源: https://www.cnblogs.com/lyt520/p/16358485.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有