今天遇到一个需求,就是select的多选下拉,根据选中的值再进行相应的处理。比如当前选中了['山东',‘浙江’,‘深圳’]三项内容,现在去掉中间的深圳,我需要拿到去掉的是哪一项。

我想的方式就是:

watch: {proTypeArr: function(newVal, oldVal) {if (newVal.length > oldVal.length) {//新增了一项this.proTypeForm.push({proType: newVal[newVal.length - 1],profitRate: 0,});} else {//删除了一项const arr = oldVal.filter((item) => !newVal.includes(item));if (arr && arr.length) {var proTypeArr = [...this.proTypeForm];this.proTypeForm.forEach((p, pIndex) => {if (p.proType == arr[0]) {proTypeArr.splice(pIndex, 1);}});this.proTypeForm = proTypeArr;}}},
},

通过watch监听下拉框选中的内容proTypeArr,如果newVal的长度小于oldVal,则表示删除了一项。此时问题变为:如何查找两个数组中不同项。

由于oldVal的长度一定会大于newVal的长度,才是删除,否则会是添加操作。
const arr = oldVal.filter((item) => !newVal.includes(item));
可以通过filter的方法来获取不同的一项。
上面代码中的arr就是不同项的数组集合。

完成!!!

js 实现查找两个数组中的不同项——基础积累相关推荐

  1. python查找两个数组中相同的元素_找出两个数组的相同元素,最优算法?

    在做新旧接口交替过程中,遇到了老接口和新接口json数据有些不一致的情况,需要比较两个json对象,把相同的元素赋其中一个json对象中变量的值.而且其中一个json最后输出格式还需要改变下属性名,思 ...

  2. 笔试算法题(28):删除乱序链表中的重复项 找出已经排好序的两个数组中的相同项...

    出题:给定一个乱序链表,节点值为ASCII字符,但是其中有重复项,要求去除重复项并保证不改变剩余项的原有顺序: 分析:创建一个256(2^8)大小的bool数组,初始化为false,顺序读取链表,将字 ...

  3. python查找两个数组中相同的元素_匹配两个numpy数组以找到相同的元素

    使用熊猫:import pandas as pd id1 = pd.read_csv('id1.txt') id2 = pd.read_csv('id2.txt') df = id1.merge(id ...

  4. js找出两个数组中不同的元素

    function getNewArr(a,b){const arr = [...a,...b];const newArr = arr.filter(item => {return !(a.inc ...

  5. php两个数组找公共部分,PHP开发中如何查找两个数组的交集

    在PHP中,可以使用内置函数array_intersect()来查找两个数组的交集,它可以返回两个数组的公共元素(相交部分).下面我们就来具体介绍一下. array_intersect()函数 基本语 ...

  6. js 快速找出两个数组中的不同元素或对象

    js 快速找出两个数组中的不同元素 var arr1 = [0,1,2,3,4,5]; var arr2 = [0,4,6,1,3,9]; function getArrDifference(arr1 ...

  7. js合并两个数组中同一类型的type对象

    // js合并两个数组中同一类型的type对象 // 接口返回的数据格式 [{dayAt: "2023-01-11"lastAt: "2023-01-11 14:36:3 ...

  8. JS案例——找出两个数组中的不同元素或对象、数组去重

    一.找出两个数组中的不同元素或对象 1. 数据 var arr1 = ["张瑞淑", "徐海涛", "谢岗岗", "薛鹏" ...

  9. js判断两个数组中是否含有相同值

    你可以使用 JavaScript 的数组方法 some() 来判断两个数组中是否含有相同的值. 这是一个例子: function hasCommonValue(arr1, arr2) {return ...

最新文章

  1. VB.NET 数组的定义 动态使用 多维数组
  2. OmniPeek与Sniffer比较区别
  3. 第六章 模型的验证、监控与调优
  4. 走过路过来看看各种实现跨域的方式~
  5. 为什么软件开发方法论让你觉得糟糕?Why Software Development Methodologies Suck?
  6. Push rejected: Push to origin/master was rejected
  7. 自主驱动发展 创新引领未来丨第九届数据技术嘉年华大会全议程精彩呈现
  8. 【华为云技术分享】华为专家亲述:如何转型搞 AI?
  9. 深度学习backbone是什么意思_一场突如其来的讨论:到底什么是深度学习?SVM其实也是深度学习吗?...
  10. Go语言中使用panic和recover简化错误处理
  11. jquery动态生成的元素添加事件的方法
  12. Kafka从上手到实践-Zookeeper CLI:CRUD zNode | 凌云时刻
  13. c语言函数名合集,C语言内部函数名.doc
  14. Python基本数据类型字符串操作总结
  15. Python min()函数
  16. gensim中word2vec API参数说明
  17. JS跟APP交互——H5调用原生APP的方法
  18. uiautomator2安卓测试框架报No tests found for given includes
  19. 基础四:波片与圆偏振
  20. 人工智能行业调查研究报告(算法导论调查研究报告)

热门文章

  1. (RAID原理)RAID0
  2. 剑指offer-18
  3. Android混淆规则介绍
  4. 【linux】路由route学习(二):route命令详解
  5. 蓝色巨人Vs开放源代码 一场没有胜者的角逐
  6. 利用griddata进行插值
  7. leetcode刷题链表
  8. 卡巴斯基反病毒软件安装手册
  9. Intel HAXM is required to run this AVD. Virtual machine acceleration driver is out-of-date
  10. matlab怎么匹配特征参数,sift特征匹配matlab