JSFiddle - React, Tailwind, and code Playground

by thelifeisyours

JavaScript 1.7

function comfortable(a, b){
	let res = [];
	
	let l = segment(a);
	console.log("L: ", l);
	let lNums = [];

    for(let i = -l.diff; i < l.diff; i++){
		console.log(l.num + i);
		lNums.push(l.num + i);
	}

	let r = segment(b);
	console.log("R: ", r);
	let rNums = [];

    for(let i = -r.diff; i < r.diff; i++){
		console.log(r.num + i);
		rNums.push(r.num + i);
	}

	for(let lComf of lNums){
		for(let rComf of rNums){
			if(lComf == rComf){
				res.push({"num": a, "comf": rComf});
			}
		}
	}

	return res;
}

function sumDigits(x) {
	let res = 0;
	let temp = 0;

	temp = String(x).split('');
	for(let i of temp){
		console.log(temp[i]);
        res += parseInt(temp[i]);
	}

	return {"num": x, "sum": res, "digits": String(x).split('')};
};

function segment(x){
	let dSum = sumDigits(x);
	let segMin = x - dSum.sum;
	let segMax = x + dSum.sum;
	let segDiff = Math.floor(Math.sqrt((segMax - segMin) ** 2));
	
	return {"num": x,"min": segMin, "max": segMax, "diff": segDiff};
}