문제상황

해결 결과 리터럴로 만든 객체를 전달해줘 모든 프로퍼티가 같은 참조값을 바라봤기 때문

const scaffoldByRowAndCol = (entity) =>
  scaffoldEntity(entity, {
    row: [],
    col: [],
  });
const scaffoldEntity = (entities, structure) =>
  go(
    entities,
    Object.entries,
    filter(([_, { number }]) => number),
    map(([k, v]) => [
      v.id,
      go(range(v.number), (numbers) =>
        numbers.reduce(
          (obj, num) => ((obj[`${num + 1}`] = structure), obj),
          {},
        ),
      ),
    ]),
    (entries) => entries.reduce((obj, [k, v]) => ((obj[k] = v), obj), {}),
  );

const scaffoldByRowAndCol = (entity) =>
  scaffoldEntity(entity, {
    row: [],
    col: [],
  });

const scaffoldByPosition = (entity) =>
  scaffoldEntity(entity, {
    position: {
      x: 0,
      y: 0,
    },
    size: {
      width: 0,
      height: 0,
    },
  });

export default function applySheet() {
  const scaffoldDataByRowAndCol = scaffoldByRowAndCol(entityInfo[1]);
  scaffoldDataByRowAndCol.s[1].col.push("test"); // 실험을 위해 강제로 push
  console.log(JSON.stringify(scaffoldDataByRowAndCol));
}