JavaScript中清空數組的幾種方法
Array.prototype.splice()
let course = ['HTML', 'CSS', 'JavaScript'] course.splice(0) console.log(course.length) // 0
注意:此方法會影響其他引用。
let course = ['HTML', 'CSS', 'JavaScript'] let other = course course.splice(0) course // [] other // []
由于 splice() 返回一個已刪除項目的數組,您可以通過將結果分配給一個新變量來獲取原始數組的副本:
let foo = ['hello', 'world'] // 清空并創(chuàng)建一個 foo 的副本 let bar = foo.splice(0, foo.length) console.log(foo) // [] console.log(bar) // ['hello', 'world']
將 length 設置為 0
將數組的長度設置為零。
let course = ['HTML', 'CSS', 'JavaScript'] course.length = 0 console.log(course) // []
分配新的空數組
let course = ['HTML', 'CSS', 'JavaScript'] course = [] console.log(course.length) // 0
length = 0和 Array = [] 之間的差異?
在大多數情況下,將變量重新分配給空數組是更好的選擇。它比調整 length 屬性更短、更明確。
但有時,你有一個數組是通過引用分配的,你想讓它們保持引用。
假如我們有一個 foo 數組,我們還有一個 bar 變量,我將它的值設置為 foo 數組。
let foo = ['hello', 'world'] // 添加引用 let bar = foo
如果我重新分配 foo 的值為 [] 空數組,bar 變量仍指向分配給它的原始數組。
foo = [] // bar 不受影響 console.log(bar) // ['hello', 'world']
foo = [] 將一個新的數組的引用賦值給變量,其他引用并不受影響。這意味著以前數組的內容被引用的話將依舊存在于內存中,這將導致內存泄漏。
如果我改為 foo.length = 0,刪除數組里的所有內容,也將影響到其他引用。
let foo = ['hello', 'world'] let bar = foo foo.length = 0 // `bar` 受影響 console.log(bar) // []
如果數組被聲明為常量,則不能將其重新分配給 []。這時我們應該使用 lenght = 0。
const course = ['HTML', 'CSS', 'JavaScript'] course = [] // 會拋出異常:"Assignment to constant variable" // 使用 length = 0 course.length = 0
到此這篇關于JavaScript中清空數組的幾種方法的文章就介紹到這了,更多相關JavaScript清空數組內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
JavaScript實現拖拽元素對齊到網格(每次移動固定距離)
最近在做一個拖拽元素的附加功能,就是對齊到網格,實際上就是確定好元素的初始位置,然后拖拽元素時,每次移動固定的距離。讓元素都可以在網格內對齊2016-11-11JavaScript數據在不同頁面的傳遞(URL參數獲?。?/a>
這篇文章主要介紹了JavaScript數據在不同頁面的傳遞(URL參數獲取),下面文章圍繞JavaScript數據在不同頁面的傳遞的實現過,想了解的小伙伴可以和小編一起進入文章了解具體內容,需要的也朋友可參考一下2021-12-12