2014-09-27 45 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