JavaScript中清空數(shù)組的幾種方法
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() 返回一個已刪除項目的數(shù)組,您可以通過將結(jié)果分配給一個新變量來獲取原始數(shù)組的副本:
let foo = ['hello', 'world'] // 清空并創(chuàng)建一個 foo 的副本 let bar = foo.splice(0, foo.length) console.log(foo) // [] console.log(bar) // ['hello', 'world']
將 length 設(shè)置為 0
將數(shù)組的長度設(shè)置為零。
let course = ['HTML', 'CSS', 'JavaScript'] course.length = 0 console.log(course) // []
分配新的空數(shù)組
let course = ['HTML', 'CSS', 'JavaScript'] course = [] console.log(course.length) // 0
length = 0和 Array = [] 之間的差異?
在大多數(shù)情況下,將變量重新分配給空數(shù)組是更好的選擇。它比調(diào)整 length 屬性更短、更明確。
但有時,你有一個數(shù)組是通過引用分配的,你想讓它們保持引用。
假如我們有一個 foo 數(shù)組,我們還有一個 bar 變量,我將它的值設(shè)置為 foo 數(shù)組。
let foo = ['hello', 'world'] // 添加引用 let bar = foo
如果我重新分配 foo 的值為 [] 空數(shù)組,bar 變量仍指向分配給它的原始數(shù)組。
foo = [] // bar 不受影響 console.log(bar) // ['hello', 'world']
foo = [] 將一個新的數(shù)組的引用賦值給變量,其他引用并不受影響。這意味著以前數(shù)組的內(nèi)容被引用的話將依舊存在于內(nèi)存中,這將導(dǎo)致內(nèi)存泄漏。
如果我改為 foo.length = 0,刪除數(shù)組里的所有內(nèi)容,也將影響到其他引用。
let foo = ['hello', 'world'] let bar = foo foo.length = 0 // `bar` 受影響 console.log(bar) // []
如果數(shù)組被聲明為常量,則不能將其重新分配給 []。這時我們應(yīng)該使用 lenght = 0。
const course = ['HTML', 'CSS', 'JavaScript'] course = [] // 會拋出異常:"Assignment to constant variable" // 使用 length = 0 course.length = 0
到此這篇關(guān)于JavaScript中清空數(shù)組的幾種方法的文章就介紹到這了,更多相關(guān)JavaScript清空數(shù)組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
return false;和e.preventDefault();的區(qū)別
Have you ever seen those two things (in the title) being used in jQuery? Here is a simple2010-07-07
JS實現(xiàn)網(wǎng)絡(luò)請求的三種方式梳理
本文主要為大家介紹了基于 XMLHttpRequest、Promise、async/await 等三種異步網(wǎng)絡(luò)請求的寫法,文中的示例代碼講解詳細(xì),感興趣的可以學(xué)習(xí)一下2022-03-03
JS判斷來路是否是百度等搜索索引進(jìn)行彈窗或自動跳轉(zhuǎn)的實現(xiàn)代碼
這篇文章主要介紹了JS判斷來路是否是百度等搜索索引進(jìn)行彈窗或自動跳轉(zhuǎn)的實現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2016-10-10
javascript和jquery實現(xiàn)設(shè)置和移除文本框默認(rèn)值效果代碼
這篇文章主要介紹了javascript和jquery實現(xiàn)設(shè)置和移除文本框默認(rèn)值效果代碼,本文實現(xiàn)的是類似html5 placeholder(空白提示)一種效果,需要的朋友可以參考下2015-01-01
javascript textarea光標(biāo)定位方法(兼容IE和FF)
主要是實現(xiàn)textarea中光標(biāo)的定位方法,考慮到多瀏覽器的兼容性,需要的朋友可以參考下。2011-03-03
JavaScript判斷瀏覽器對CSS3屬性是否支持的多種方法
其實在使用css3的一些屬性時,為了兼顧低端瀏覽器對CSS3的不友好性,往往需要知道某些瀏覽器是否支持要使用的CSS3屬性,以此來做向下適配。比如常見的CSS3動畫就很有必要檢測瀏覽器是否支持。下面本文就分享了幾種方法,有需要的朋友們可以參考借鑒。2016-11-11
bootstrap datetimepicker 日期插件在火狐下出現(xiàn)一條報錯信息的原因分析及解決辦法
日期插件 bootstrap-datetimepicker 在火狐下出現(xiàn)一條報錯信息:TypeError: (intermediate value).toString(…).split(…)[1] is undefined.什么原因?qū)е碌哪兀旅嫘【幗o大家分享解決思路,需要的朋友參考下2017-03-03

