ES6中some(),取重复值,去重复值和非重复值

Stella981
• 阅读 542
var arr=[
  {
    name:'测试'
  },
  {
    name:'222'
  },
  {
    name:'测试'
  },
  {
    name:'另一个'
  },
  {
    name:'另一个'
  }
]
var a=[],b=[],c=[];

arr.forEach(item=>{
  if(a.some(ob=>ob.name==item.name)){  // 取重复值
    b.push(item)   //  [{"name":"测试"},{"name":"另一个"}]
  }else{   // 去重复值
    a.push(item)   // [{"name":"测试"},{"name":"222"},{"name":"另一个"}]
  }
})

a.forEach(item=>{
  if(!b.some(el=>el.name==item.name)){  // 非重复值
    c.push(item);    // [{"name":"222"}]
  }
})
点赞
收藏
评论区
推荐文章
风花雪月 风花雪月
3年前
警告Shadows built-in name
shadowsbuiltinname你取的函数名是内置函数名
Wesley13 Wesley13
3年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
风花雪月 风花雪月
3年前
警告Function name should be lowercase
用pyCharm时,常会出现警告信息:functionnameshouldbelowercase   函数名应该是小写 字母argumentnameshouldbelowercase参数名应该是小写字母variableinfunctionshouldbelowercase变量应该是小写字母 全是小写字母,可能与以往的习惯不大一
Stella981 Stella981
3年前
JS 对象数组Array 根据对象object key的值排序sort,很风骚哦
有个js对象数组varary\{id:1,name:"b"},{id:2,name:"b"}\需求是根据name或者id的值来排序,这里有个风骚的函数函数定义:function keysrt(key,desc) {  return function(a,b){    return desc ? ~~(ak
Wesley13 Wesley13
3年前
vb.net 使用ip查詢(Host Name)(WorkGroup Name)(MAC Address)
Subnbtstat(ByValipAsString)DimstrRst,strRst1,strRst2,strRst3AsStringDimn1,n2,n3AsIntegerTryDimpAsNewProcess()'用Process就可以p.StartInfo.FileName"
Stella981 Stella981
3年前
Laravel 控制器的request
publicfunctionrequest1(Request$request){//取值$nameRequest::input('name');//是否有值if($requesthas('name')){echo$requestinput('name');}$res
Stella981 Stella981
3年前
ES6中数组方法( every 和 some )
判断对象数组中每个人是否成年,大于17成年,否则未成年vararr{name:'jerry',sex:'man',age:14},{name:'jack',sex:'woman',age:19},{name:'bill',sex:'ma
Stella981 Stella981
3年前
925. Long Pressed Name
题目链接:https://leetcode.com/problems/longpressedname/description/(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fleetcode.com%2Fproblems%2Flongpressedname%2Fdescript
Wesley13 Wesley13
3年前
mysql 插入数据
简单用法:insertintotb\_name(字段1,字段2,.........)values(值1,值2,.....)注意,字段个数必须和值的个数一致。字符用引号引起来,数字不用,插入空值使用null批量插入:insertintotb\_name(字段1,字段2,.........)values(值1,值2,.....