2014-09-27 74 views
0

我的代碼很困難。我正在研究coderbyte問題,挑戰的一部分是找到一組數字的模式。所以我認爲我的第一步是創建一個包含數字和頻率的對象。這是我到目前爲止有:在Javascript中查找模式

arr = [1,1,1,6,2,3,4]; 
mapping = {}; 
counter = 0 
for(var i = 0;i < arr.length; i++){ 
    mapping[arr[i]] = 0; 
     if(arr[i] == mapping[i.toString]) 
      mapping[i.toString] += 1 
} 
mapping 

但是這是給我{ '1': 0, '2': 0, '3': 0, '4': 0, '6': 0 }

任何想法?

+0

你可能想調用toString功能 - i.toString()。 – 2014-09-27 21:27:25

回答

0

這工作得更好:

arr = [1,1,1,6,2,3,4]; 
mapping = {}; 
counter = 0 
for(var i = 0;i < arr.length; i++){ 
    if (!mapping[arr[i]]) mapping[arr[i]] = 0; 
    mapping[arr[i]] += 1 
} 

// mapping = {1: 3, 2:1, 3:1, 4:1, 6:1} 
+0

它不起作用。 – theamateurdataanalyst 2014-09-27 21:16:42

+0

試試這個jsbin:http://jsbin.com/wunohabifuso/1/edit。可能是我誤解了任務,請解釋一下。 – erGo 2014-09-27 21:27:46

+0

對不起。你是對的。謝謝!! – theamateurdataanalyst 2014-09-27 21:40:49