Javascript TypeError:list.push在推送到本地存储时不是函数

Javascript TypeError:list.push在推送到本地存储时不是函数,javascript,Javascript,我在尝试获取用户输入(todo)并将其作为值推送到本地存储时收到一个错误。该键来自TaskList.value,它是一个HTML选择表单 假设列表1被选中。用户输入“获取食品杂货”和“清洁汽车”。这应该作为一个值传递到localstorage,但是它为我提供了TypeError:list.push在推送到localstorage时不是一个函数 据我所知,这是一个解析或字符串化的问题。然而,我很困惑,尽管我读到的问题,它到底是哪一部分 const taskLists = document.getE

我在尝试获取用户输入(todo)并将其作为值推送到本地存储时收到一个错误。该键来自TaskList.value,它是一个HTML选择表单

假设列表1被选中。用户输入“获取食品杂货”和“清洁汽车”。这应该作为一个值传递到localstorage,但是它为我提供了TypeError:list.push在推送到localstorage时不是一个函数

据我所知,这是一个解析或字符串化的问题。然而,我很困惑,尽管我读到的问题,它到底是哪一部分

const taskLists = document.getElementById('task-lists');

function saveLocalTodo(todo) {
  let list;
  if (localStorage.getItem(taskLists.value) === null) {
    list = [];
  } else {
    list = JSON.parse(localStorage.getItem(taskLists.value));
  }
  list.push(todo);
  localStorage.setItem(taskLists.value, JSON.stringify(list));
}

您的函数:
saveLocalList(list)
将列表名保存到localStorage,而不进行字符串化。我认为这是问题的根源。请尝试以下代码:

// Saves list to local storage
function saveLocalList(list) {
  localStorage.setItem(list, JSON.stringify([]));
}

请同时提供HTML代码:)@HarshanaSerasinghe抱歉,将其添加到主帖子中!我刚刚检查了你的代码,它运行得很好。你也可以发布这个函数吗?用HTML添加到主帖子中
<section class="main-content grid2">
        <form class="add-task-form">
          <button class="todo-button form-button" type="submit">
            <i class="las la-plus-square"></i>
          </button>
          <input type="text" class="todo-input" placeholder="Add task" />
        </form>
        <div class="todo-container">
          <ul class="todo-list"></ul>
        </div>
      </section>
const listInput = document.querySelector('.list-input');

// Creates option in UI
function createNewList(event) {
  // Prevent form from submitting
  event.preventDefault();

  // Creates option element
  const newList = document.createElement('option');
  newList.innerText = listInput.value;
  taskLists.appendChild(newList);
  // Saves to local storage using form input
  saveLocalList(listInput.value);

  // Clear Todo Input Value
  listInput.value = '';
}

// Saves list to local storage
function saveLocalList(list) {
  localStorage.setItem(list, []);
}
// Saves list to local storage
function saveLocalList(list) {
  localStorage.setItem(list, JSON.stringify([]));
}