localStorage에 배열을 저장했는데요.. 불러올 때 문제가 생기네요..

조회수 740회
function fLoad(i) {
                var fin, finF, s = [], cnt;
                var a, b;
                var openId;
                var removeId;
                cnt = localStorage.getItem("counter") - 0;
                finF = localStorage.getItem("LItem");
                console.log(fin);
                fin = JSON.parse(finF); //여기서 문제가 생깁니다..
                console.log(cnt);
                if (i < cnt + 1) {
                    console.log("1");
                    a = i * 6 - 6;
                    b = i * 6;
                    s = fin.slice(a, b);
                    result = s.join(" - ");
                    openId = "openBtn" + i;
                    removeId = "removeBtn" + i;
                    console.log(result);
                    var newdiv = document.createElement("div");
                    var newP = document.createElement("p");
                    var newButtonOpen = document.createElement("input");
                    var newButtonRemove = document.createElement("input");
                    var newText = document.createElement("strong");
                    newButtonOpen.type = "button";
                    newButtonOpen.value = "열기";
                    newButtonOpen.setAttribute("style", "float:right; text-align:center;");
                    newButtonOpen.id = openId;
                    newButtonRemove.type = "button";
                    newButtonRemove.value = "삭제";
                    newButtonRemove.setAttribute("style", "background-color:#FE2E2E; float:right; text-align:center;");
                    newButtonRemove.id = removeId;
                    newText.setAttribute("style", "float:rignt; text-align:right;");
                    newText.innerHTML = result;
                    newP.setAttribute("style", "border:1px solid black; height : 25px;");
                    newP.appendChild(newText);
                    newP.appendChild(newButtonOpen);
                    newP.appendChild(newButtonRemove);
                    newdiv.appendChild(newP);
                    document.body.appendChild(newdiv);
                    s = [];
                    i++;
                    console.log(removeId);
                    document.getElementById(openId).addEventListener("click", function () {showDiary();});
                    document.getElementById(removeId).addEventListener("click", function () {removeDiary(i);});
                    return fLoad(i);
                }
            }
        function removeDiary(toTarget) {
            if (confirm("정말로 이 일기를 삭제하시겠습니까?")) {
                var cnt = localStorage.getItem("counter");
                var fin, finF;
                var finc, fincF;
                var a, b, c;
                a = toTarget * 6 - 6;
                b = toTarget * 6 - 1;
                c = toTarget - 1;
                finF = localStorage.getItem("LItem");
                fincF = localStorage.getItem("Lcontents");
                fin = JSON.parse(finF);
                finc = JSON.parse(fincF);
                fin.splice(a, b);
                finc.splice(c, 1);
                console.log(fin);
                console.log(finc);
                alert(fin[0]);
                alert(finc[0]);
                cnt--;
                localStorage.setItem("LItem", fin);
                localStorage.setItem("Lcontents", finc);
                localStorage.setItem("counter", cnt);
                console.log(fin);
                console.log(finc);
                console.log(cnt);
                alert("삭제가 완료되었습니다.");
                window.location.reload();
            }
        }
    <body>
        <script>
            fLoad(1);
        <script>
    </body>

여기서 splice로 LS를 불러와서 그 안에 있는 배열의 항목을 자른 다음에 다시 LS에 넣어주는 코드인데요, fLoad(i)JSON.parse(finF); 여기서 오류가 납니다.. 이걸 해결하려고 계속 해봤는데 안되더라구요.. 고수분들 도와주세요!!

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)