短影片開發,領略陣列去重這三招
在短影片執行過程中,需要對資料進行多種型別的處理,其中資料去重是不可忽視的一種,以下三種陣列去重招數值得一學。
// 陣列去重 並排序方案一 function case1(arrSrc) { const ret = arrSrc.reduce((pre, cur) => { if (!pre.includes(cur)) { pre.push(cur) } return pre // 不要少了這一行 }, []) return customSort(ret) }
// 陣列去重並排序方案二 function case2(arrSrc) { const ret = Array.from(new Set(arrSrc)) return customSort(ret) }
// 陣列去重並排序方案三 function case3(arrSrc) { const ret = [] for (const i of arrSrc) { if (!ret.includes(i)) { ret.push(i) } } return customSort(ret) } function customSort(data) { return data.sort((a, b) => a - b) } function findOneInObject(data) { const result = [] for (const item of Object.entries(data)) { if (item[1] === 1) { result.push(item[0]) } } return result } // 找出陣列中只出現一次的數 function case4(arrSrc) { const ret = arrSrc.reduce((pre, cur) => { if (cur in pre) { pre[cur] += 1 } else { pre[cur] = 1 } return pre // 不要少了這一行 }, {}) return findOneInObject(ret) } const arrSrc = [1, 1, 2, 2, 8, 3, 4, 4, 5, 5, 6, 8, 7, 7, 9] console.log('case1=', case1(arrSrc)) console.log('case2=', case2(arrSrc)) console.log('case3=', case3(arrSrc)) console.log('case4=', case4(arrSrc))
以上就是短影片開發,領略陣列去重這三招, 更多內容歡迎關注之後的文章