标签:封装 删除 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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。