Sorted Union-freecodecamp算法题目

本文介绍了一个名为 SortedUnion 的函数实现方法,该函数接收两个或多个数组作为参数,并返回一个新数组,其中包含了所有输入数组中的唯一元素,且保持了这些元素在原始数组中的顺序。

Sorted Union


1.要求

  • 写一个 function,传入两个或两个以上的数组,返回一个以给定的原始数组排序的不包含重复值的新数组。
  • 换句话说,所有数组中的所有值都应该以原始顺序被包含在内,但是在最终的数组中不包含重复值。
  • 非重复的数字应该以它们原始的顺序排序,但最终的数组不应该以数字顺序排序。

2.思路

  • 将输入的各个数组用.concat连接起来
  • 定义结果数组初始为含有输入数组的的第一个元素
  • for循环中遍历输入数组除第一个元素外的各个元素,利用.indexOf()判断结果数组是否包含这个元素,如果没包含就push到结果数组,最后返回结果数组即可

3.代码

function unite(arr1, arr2) {
  var arr3=arguments[2]? arguments[2]:[]; 
  var arr4=arguments[3]? arguments[3]:[]; 
  var arr =arr1.concat(arr2,arr3,arr4);
  var result=[arr[0]];
  for(var i=1;i<arr.length;i++){
    if(result.indexOf(arr[i]) ===-1){
      result.push(arr[i]);
    }
}
  return result;
}
unite([1, 3, 2], [5, 2, 1, 4], [2, 1]);

4.相关链接

转载于:https://www.cnblogs.com/ahswch/p/9299847.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值