immutable.js对象数组去重

immutable对象数组如何去重?

import { List } from 'immutable';
const arr1 = List([
    {name:'Jack'}, 
    {name:'Rose'}, 
    {name:'Albert'}, 
    {name:'Mike'}
]);
const arr2 = List([
    {name:'Jack'},
    {name:'Lawliet'}
]);

用什么方法可以将两个List合并,并去除掉值相同的对象,最终得到:

List([
    {name:'Jack'}, 
    {name:'Rose'}, 
    {name:'Albert'}, 
    {name:'Mike'},
    {name:'Lawliet'}
]);

还请大佬指点!

阅读 3.1k
1 个回答
const arr1 = [
  {name:'Jack', lev: 1}, 
  {name:'Rose'}, 
  {name:'Albert'}, 
  {name:'Mike'}
]

const arr2 = [
  {name:'Jack', lev: 2},
  {name:'Lawliet'}
]

function demo () {
  var res = [], a = 0, len;
  for(len = arguments.length; a < len; a++) {
    arguments[a].forEach(item => !res.some(x => x.name === item.name) && res.push(item))
  }
  return res
}

console.log(demo(arr1, arr2)); // => 完成
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题