JSFiddle - React, Tailwind, and code Playground
by Nabaraj Saha
JavaScript
function runningMedian(a) {
/*
* Write your code here.
*/
let arrLength = a.length, testArr=[], resultArr=[];
for(let i=0; i< arrLength; i++){
testArr.push(a[i]);
testArr.sort((a,b)=>{return a-b})
// console.log(testArr)
if(testArr.length===1){
resultArr.push(parseFloat(a[i]).toFixed(1));
console.log(1,testArr, resultArr)
}else if(testArr.length===2){
resultArr.push(parseFloat((testArr[0]+testArr[1])/2).toFixed(1));
console.log(2,testArr, resultArr)
}else if(testArr.length>2 && testArr.length%2===0){
let middleIndex = parseInt(testArr.length/2)-1
resultArr.push(parseFloat((middleIndex+(middleIndex+1))/2).toFixed(1));
console.log("even",testArr, resultArr)
}else{
let middleIndex = Math.ceil(testArr.length/2)-1;
console.log(middleIndex);
resultArr.push(parseFloat(testArr[middleIndex]).toFixed(1));
console.log("odd",testArr, resultArr);
}
}
return resultArr;
}
console.log(runningMedian([1,2,3,4,5,6,7,8,9,10]))