数组去重,字符串查找最多字符方法总结

去重方法1:sort-splice

 1 <script>
 2     var arr=[1,2,3,4,4,4,4,4,3,2,2,3,4,4];
 3     arr.sort(function(n1,n2){
 4         return n1-n2;
 5     });
 6     for(var i=0;i<arr.length;i++){
 7         if(arr[i]==arr[i+1]){
 8             arr.splice(i+1,1);
 9             i--;
10         }
11     }
12     alert(arr);
13 </script>

去重方法二:双层for循环

 1 <script>
 2     var arr=[1,2,2,2,3,3,5,3,3,3,4,4,2,3,3,3,4,5,5,7];
 3     for(var i=0;i<arr.length;i++){
 4         for(var j=i+1;j<arr.length;j++){
 5             if(arr[j]==arr[i]){
 6                 arr.splice(j,1);
 7                 j--;
 8             }
 9         }
10     }
11     document.write(arr.sort(function(n1,n2){return n1-n2;}));
12 </script>

去重方法三:json

 1 <script>
 2     var arr=[1,2,23,4,5,6,5,5,5,5,7,7,8,8,8];
 3     var json={};
 4     for(var i=0;i<arr.length;i++){
 5         json[arr[i]]=1;
 6     }
 7     var arr2=[];
 8     for(var name in json){
 9         arr2.push(name);
10     }
11     alert(arr2);
12 </script>

查找最多字符:

  方法一:双层for循环

 1 <script>
 2 var str=‘bfjhdbddbbdbbbbbfffdbbfb‘;
 3 var json={‘name‘:‘a‘,‘data‘:0};
 4 for(var i=0;i<str.length;i++){
 5     var value=0;
 6     for(var j=0;j<str.length;j++){
 7         if(str.charAt(j)==str.charAt(i)){
 8             value++;
 9         }
10     }
11     if(value>json.data){
12         json.name=str.charAt(i);
13         json.data=value;
14     }
15 }
16 alert(‘最多的字符是:‘+json.name+‘字符个数是:‘+json.data);
17
18 </script>

方法二:json

 1 <script>
 2 var str=‘sfdfadfgadffadgfg‘;
 3 //var arr=str.split(‘‘);
 4 var json={};
 5 for(var i=0;i<str.length;i++){
 6     if(json[str[i]]==undefined){
 7         json[str[i]]=1;
 8     }else{
 9         json[str[i]]++;
10     }
11 }
12 var s=‘‘;
13 var t=0;
14 for(var name in json){
15     if(json[name]>t){
16         s=name;
17         t=json[name];
18     }
19 }
20
21 alert(‘字符最多的是‘+s+‘,次数是‘+t);
22 </script>

以上仅供参考,部分非本人原创,只是做一下总结。

时间: 2024-12-28 17:13:51

数组去重,字符串查找最多字符方法总结的相关文章

数组去重的几种常见方法?

数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ function uniq(array){ var temp = []; //一个新的临时数组 for(var i = 0; i < array.length; i++){ if(temp.indexOf(array[i]) == -1){ temp.push(array[i]); } } retur

JS数组去重的几种常见方法

JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ function uniq(array){ var temp = []; //一个新的临时数组 for(var i = 0; i < array.length; i++){ if(temp.indexOf(array[i]) == -1){ temp.push(array[i]); } } ret

几个小编程题(数组去重,获取字符串中最多字符)

1.编写一个方法去掉一个数组的重复元素: 方法一:普通for循环嵌套: 1 function removeSame(arr){ 2 console.log(arr); 3 for(var i=0, len = arr.length; i<len; i++){ 4 for(var j=i+1; j<len-i; j++){ 5 if(arr[i] === arr[j]){ 6 arr.splice(arr[j], 1); //如果检测到有重复的元素则删除 7 j--; //当有多个重复元素时向前

数组去重的几种实现方法

1. 使用Set ES6 提供了新的数据结构Set, 它类似数组,和C++中的set容器一样,它成员的值都是唯一的,没有重复的值:Set本身是一个构造函数,用来生成Set数据结构. var s = new Set(); s.add("hello").add("goodbye").add("hello"); s.size === 2; s.has("hello") === true; const s = new Set(); [

数组、字符串对象的各种方法

数组的常用方法 1,shift()方法:把数组的第一个元素删除,并返回第一个元素的值 var a = ['a', 'b', 'c']; console.log(a,a.shift()); //['b','c'] 'a' 2,pop():用于删除并返回数组的最后一个(删除元素)元素,如果数组为空则返回undefined ,把数组长度减 1 var a = ['a', 'b', 'c']; console.log(a,a.pop()); //["a", "b"] &qu

数组去重的几种实现方法。

传统的去重思路大致如下. 声明一个新的数组,在把旧的数组依次往新的数组里面push,如果遇到新数组已有的对象,就不push. var arr =[1,3,3,3,5,6,6,7,8,1,5,9,5]; var newArr = []; //先声明一个对比的方法 function findInArr(arr,n){ for(var i=0;i<arr.length;i++){ if(arr[i]==n)return true;//找到相似的返回true } return false;//遍历完没有

Java通过ArrayList的contains(Object o)方法实现去重字符串中的字符

1.步骤: 1)ArrayList的contains方法的简介: public boolean contains(Object o) 如果此列表包含指定的元素o,则返回true . 2)重写equals方法以便使用自己的方式去对比集合中的两个对象是否相同: // 重写equals方法 public boolean equals(Object obj) { if (obj instanceof myChar) { return ((myChar)obj).getValue() == this.va

PHP 数组和字符串互相转换实现方法

$array=explode(separator,$string); $string=implode(glue,$array); 把字符串打散为数组: 例子里面的[" "]这部分为分割的字符 <?php $str = "Hello world. I love Shanghai!"; print_r (explode(" ",$str)); ?> Array ( [0] => Hello [1] => world. [2]

java中字符串数组、字符串、调用split方法后长度比较

通过eclipse测试: String temp2 = ""; String[] temp = temp2.split(","); String[] temp3 = {}; System.out.println("............................."+temp2.length()); System.out.println("***************"+temp.length); System.ou