今日文章目錄
- 需求說明
- 事前準備
- 重點說明
- 參考資料
DAY12練習ToDoList分類項目,遇到重複點擊完成鈕,資料無法同時在三種清單上同時更新。
昨晚想了一下,決定重新調整寫法。所以今天一樣是ToDoList奮鬥日記
li
都要可以重複點擊完成鈕,並同時更新對應分類。陣列內的資料
,去 render
視覺畫面。 const listData = []; // 全部清單
let unfinishedListData = []; // 未完成清單
let finishedListData = []; // 已完成清單
const listData =[
{
id: 1, // 這次練習是用 Math.random() 產生隨機數,但其實還是有可能重複。
value: "Learn JS",
status: "unfinished", // 篩選分類清單依據
priority: 1, // 調整排列順序依據
},
...
];
push
加入listData
priority
重新排列listData
listData
,篩選(filter
)出未完成、已完成資料render
畫面deleteBtn
,參數傳入:該li
。點擊執行以下動作:listData
toDoList
listData
,重新篩選未完成、已完成資料re-render
畫面sort(compareFunction)
:
compareFunction(optional)
,函式會有兩個參數代表作用陣列項目,依照比較內容做排序。filter((element, index, targetArray)=>{})
:
所有
元素。element
:目前作用元素index(optional)
:目前作用元素索引targetArray
:作用陣列全新陣列
***;如果沒有一個符合,返回空陣列[]
find((element, index, targetArray)=>{})
:
第一個
符合條件的元素。element
:目前作用元素index(optional)
:目前作用元素索引targetArray(optional)
:作用陣列第一個
符合元素;如果沒有一個符合,返回 undefined
findIndex((element, index, targetArray)=>{})
:
第一個
符合條件的元素索引。element
:目前作用元素index(optional)
:目前作用元素索引targetArray(optional)
:作用陣列第一個
符合元素索引;如果沒有一個符合,返回 -1
明日預告: