순회하는 리스트
const l = [10, 20, 25, 27, 34, 35, 39];
const n = 2;
function rotate(inL, inN) {
let newL = inL.slice();
for (let i = 0; i < inN; i++) {
newL.unshift(newL.pop());
}
const diff = newL.map((el, idx) => Math.abs(el - l[idx]));
function reduceHelper({ idx, min }, cur, index, origin) {
if (cur < min) {
min = cur;
idx = index;
}
if (index == origin.length - 1) {
return { idx, origin: l[idx], rotated: newL[idx] };
}
return { idx, min };
}
return diff.reduce(reduceHelper, { idx: null, min: Infinity });
}