JS找出数组 arr 中重复出现过的元素
来源:互联网 发布:mac粉底液哪个最白 编辑:程序博客网 时间:2024/05/20 23:38
这是牛客网的题目,自己总结了几种其他人做的方法,供自己借鉴。
JS找出数组 arr 中重复出现过的元素
输入例子:duplicates([1, 2, 4, 4, 3, 3, 1, 5, 3]).sort()输出例子:[1, 3, 4]
1.这个应该好理解。 先对数组进行排序,判断前一个与后一个相等且没有保存的情况下,再把元素放到数组中去。
function duplicates(arr) { var newArr=[]; arr.sort(); for(var i =0;i<arr.length;i++){ if(arr[i]==arr[i+1]&&(newArr.indexOf(arr[i])==-1) ){ newArr.push(arr[i]); i++; } } return newArr;}
2.
function duplicates(arr) { var a=[]; for(var i=0;i<arr.length-1;i++) { for(var j=i+1;j<arr.length;j++) { if(arr[i]==arr[j]&&a.indexOf(arr[i])==-1) { a.push(arr[i]); } } } return a.sort();}
3.
function duplicates(arr) { //声明两个数组,a数组用来存放结果,b数组用来存放arr中每个元素的个数 var a = [],b = []; //遍历arr,如果以arr中元素为下标的的b元素已存在,则该b元素加1,否则设置为1 for(var i = 0; i < arr.length; i++){ if(!b[arr[i]]){ b[arr[i]] = 1; continue; } b[arr[i]]++; } //遍历b数组,将其中元素值大于1的元素下标存入a数组中 for(var i = 0; i < b.length; i++){ if(b[i] > 1){ a.push(i); } } return a;}
4.
function duplicates(arr) { var brr = []; arr.sort(); //原数组排序; while(arr.length > 0){ if(arr.indexOf(arr[0]) != arr.lastIndexOf(arr[0])){ //当值得第一个index != 最后一个index,即认为该值重复,将其赋予brr数组,并删除arr数组中所有与该值相同的值。 brr.push(arr[0]); arr.splice(arr.indexOf(arr[0]),arr.lastIndexOf(arr[0])); }else{//当第一个index = 最后一个index,即该值不重复。直接删除。 arr.shift(); } } return brr;}
5.
function duplicates(arr) { var newArr = []; for(var i=0;i<arr.length;i++){ var count = 0; for(var j=0;j<arr.length;j++){ if(arr[i]===arr[j]){ count++; } } if(count>1 && newArr.indexOf(arr[i])===-1){ newArr.push(arr[i]); } } return newArr;}
0 0
- js找出数组 arr 中重复出现过的元素
- JS找出数组 arr 中重复出现过的元素
- 找出数组 arr 中重复出现过的元素
- 找出数组中重复出现过的元素
- 找出一个数组中没重复出现过的数
- 找出一个数组中只出现过一次的元素
- JavaScript找数组中重复出现过的元素
- 找出数组中唯一的重复元素
- 找出数组中唯一的重复元素
- 找出数组中唯一的重复元素
- 找出数组中唯一的重复元素
- 找出数组中唯一的重复元素
- 找出数组中唯一的重复元素
- 找出数组中唯一的重复元素
- 找出数组中唯一的重复元素
- 找出数组中重复元素
- leetcode-singleNum2 找出一个数组中只出现过一次的元素
- 找出数组的重复元素
- SVN的配置和使用
- dojo中的dojoConfig配置
- 【Linux】-- 环境变量 path 的查看、添加及删除
- CWE -- Out-of-bounds Write 例子
- 图像处理之_傅立叶变换
- JS找出数组 arr 中重复出现过的元素
- CentOS下创建应用程序的快捷方式
- 排序算法--插入排序(直接插入排序)
- 在线选题系统完善篇(PHP)
- NYoj 4 ASCII码排序
- 图像旋转代码
- dojo中的AMD模式开发案例
- HTML的基本结构语法 表格, 框架, 表单
- Codeforces 3D Least Cost Bracket Sequence