var a,sum = 0; var obj = {}; var arr = [1,3,7,3,1,8,1,10,6,1]; for(var i = 0, j = arr.length;i < j; i ++){ if(obj[arr[i]]){ obj[arr[i]] = obj[arr[i]] + 1; }else{ obj[arr[i]] = 1; } } for(var k in obj){ if(obj[k] > sum){ sum = obj[k]; a = k; } }
說明:數組中的值看成對象裏面的屬性;首先用for循環遍歷數組中有哪些值,其次判斷對象裏的屬性是否有,沒有就給它賦值爲1,有就在+1;再遍歷對象的屬性,對象的屬性值大於0就把對象的屬性值賦給sum,依次進行比較獲得最大值就是出現次數最多的;再把對應的屬性賦給a就是對應的那個數組項。數組
var obj={}; var a,sum= 0; var stringone="abcdbdcb"; for(var i=0,j=stringone.length;i<j;i++){ var s = stringone.charAt(i); if(obj[s]){ obj[s]++; }else{ obj[s]=1; } } for(var k in obj){ if(obj[k]>sum){ sum=obj[k]; a=k; } }
charAt() 方法可返回指定位置的字符。
請注意,JavaScript 並無一種有別於字符串類型的字符數據類型,因此返回的字符是長度爲 1 的字符串。code
語法:stringObject.charAt(index)對象
註釋:字符串中第一個字符的下標是 0。若是參數 index 不在 0 與 string.length 之間,該方法將返回一個空字符串。
例子,在字符串 "Hello world!" 中,咱們將返回位置 1 的字符:ip
var str="Hello world!" document.write(str.charAt(1)) //e