【发布时间】:2014-10-01 04:24:02
【问题描述】:
过去两天我一直在研究一个 coderbyte 问题。我以为我终于买了它,但由于某种原因我一直出错。
function comparemedianandmode(arr){
function findmode(arr){
mapping = {};
mode = 0;
for(var i = 0; i < arr.length; i++){
if(!mapping[arr[i]]){
mapping[arr[i]] = 0;
}
mapping[arr[i]] += 1;
}
for(prop in mapping){
if(mapping[prop] > mode){
var mode = parseInt(prop);
}
}
}
function findmedian(arr){
arr.sort(function(a,b){return a - b});
if(arr.length % 2 === 0){
var median = (arr[(arr.length/2)-1] + arr[arr.length/2])/2;
}
else{
var median = arr[(arr.length - 1)/2];
}
}
var answer = (median === mode) ? 1 : 0;
return answer
}
当我尝试comparemedianandmode([1,2,3,3,3,4,5]) 时,出现以下错误:
ReferenceError: median is not defined
一定很简单,但我似乎无法弄清楚
编辑
New Code:
function comparemedianandmode(arr){
var mode;
var median;
function findmode(arr){
mapping = {};
for(var i = 0; i < arr.length; i++){
if(!mapping[arr[i]]){
mapping[arr[i]] = 0;
}
mapping[arr[i]] += 1;
}
for(prop in mapping){
if(mapping[prop] > mode){
var mode = parseInt(prop);
}
}
}
var median
function findmedian(arr){
var median
arr.sort(function(a,b){return a - b});
if(arr.length % 2 === 0){
median = (arr[(arr.length/2)-1] + arr[arr.length/2])/2;
}
else{
median = arr[(arr.length - 1)/2];
}
}
var answer = (median === mode) ? 1 : 0;
return answer
}
comparemedianandmode([1,2,3,3,3,4,5])
=> 1
【问题讨论】: