欢迎关注微信公众号:【 全栈攻略 】

我们做的最多的业务场景是去重,今天遇到的需求是找出数组对象中重复的项
直接上代码:
	let arr = [
	        {id: 1, sku: 101, name: 'sku101'},
	        {id: 2, sku: 102, name: 'sku102'},
	        {id: 3, sku: 103, name: 'sku103'},
	        {id: 4, sku: 101, name: 'sku101'},
	        {id: 5, sku: 102, name: 'sku102'},
	        {id: 6, sku: 103, name: 'sku103'},
	        {id: 7, sku: 104, name: 'sku104'},
	        {id: 8, sku: 105, name: 'sku105'},
	      ]
现在的需求是找出sku相同的项
	    /**
	     * 找出数组对象中重复的项 放在一个新数组中
	     * @param {*} data 要找的数组
	     */
	    getRepeatData(data) {
	      let result=[];
	      let obj = {};
	        for (let i = 0; i < data.length; i++) {
	          const el = data[i];
	          for (let y = i+1; y < data.length; y++) {
	            const val = data[y];
	            if( el.sku == val.sku ) {
	              if(!obj[el.id]){
	                result.push(el)
	                obj[el.id] = true
	              }
	              if(!obj[val.id]){
	                result.push(val)
	                obj[val.id] = true
	              }
	            }
	          }
	        }
	      return result
	  }
	  getRepeatData(arr) 
输出结果如下

在这里插入图片描述

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 4 个月前
8c391e04 6 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐