两数组合并并过滤相同数据

  1. a=[1,2,3]
  2. b=[2,4]
    找出a和b相同的元素

let arr = a.filter(el=>b.indexOf(el) !== -1)
a,b合并且去除相同元素

let c = a.concat(b).filter(el=>arr.indexOf(el) == -1)

let a = [
{id:1,name:‘张三’},
{id:2,name:‘张四’},
]
let b = [
{id:1,name:‘王五’},
{id:3,name:‘赵六’},
]

找出a和b中id一样的元素

let c = a.map(el=>el.id)

let arr = b.filter(el=>c.indexOf(el.id) != -1)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用PHP中的array_unique()函数来去除多个数组中的重复项,并结合array_merge()函数来合并多个数组。然后使用array_count_values()函数来统计每个数字(或组合)出现的次数,最后找到只出现一次的数字(或组合),将它们按照原来的顺序组合在一起。具体实现代码如下: ``` $arr1 = array(1, 2, 3, 4, 5); $arr2 = array(2, 3, 6, 7, 8); $arr3 = array(3, 4, 5, 9, 10); // 合并数组并去除重复项 $uniqueArr = array_unique(array_merge($arr1, $arr2, $arr3)); // 统计每个数字出现的次数 $countArr = array_count_values($uniqueArr); // 找到只出现一次的数字 $uniqueArr = array_keys(array_filter($countArr, function($count) { return $count == 1; })); // 按照原来的顺序组合数字 $resultArr = array(); foreach ($arr1 as $num) { if (in_array($num, $uniqueArr)) { $resultArr[] = $num; } } foreach ($arr2 as $num) { if (in_array($num, $uniqueArr)) { $resultArr[] = $num; } } foreach ($arr3 as $num) { if (in_array($num, $uniqueArr)) { $resultArr[] = $num; } } // 输出结果 echo implode(',', $resultArr); // 输出1,6,7,8,9,10 ``` 上述代码中,array_merge()函数用于合并多个数组,array_unique()函数用于去除合并后的数组中的重复项,array_count_values()函数用于统计去重后的数组中每个数字出现的次数,array_filter()函数用于过滤掉出现次数大于1的数字,array_keys()函数用于取出过滤后的数组中的键(即数字),最后用foreach()循环按照原来的顺序组合数字。最后使用implode()函数将数字数组转换为字符串并输出结果。如果没有不同项,则输出空字符串。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值