JS-陣列基礎知識3
今天主要看下pop(),unshift(),shift().push(),這幾個都屬於陣列的方法分別為,尾部刪除/頭部新增/頭部刪除/尾部新增
2.如何清空物件型陣列
對於清空陣列,大家就想到把陣列的length設定為0不就ok了,這個當然可以
例如:var arr=[1,2,3,4]; arr.length=0;
但是如果我們清空的是如下型別的陣列呢?
var data = [
{id:1001,icon:‘img/1.png’,name:‘餐飲0’,num:1,price:10},
{id:1002,icon:‘img/2.png’,name:‘餐飲1’,num:1,price:20},
{id:1003,icon:‘img/3.png’,name:‘餐飲2’,num:12,price:30},
{id:1004,icon:‘img/4.png’,name:‘餐飲3’,num:1,price:40},
{id:1005,icon:‘img/5.png’,name:‘餐飲4’,num:1,price:50},
{id:1006,icon:‘img/6.png’,name:‘餐飲5’,num:1,price:60},
{id:1007,icon:‘img/7.png’,name:‘餐飲6’,num:1,price:70},
{id:1008,icon:‘img/8.png’,name:‘餐飲7’,num:1,price:80},
{id:1009,icon:‘img/9.png’,name:‘餐飲8’,num:1,price:90},
{id:10010,icon:‘img/10.png’,name:‘餐飲9’,num:1,price:100},
{id:10011,icon:‘img/11.png’,name:‘餐飲10’,num:1,price:110},
]
當然,用data.length=0;陣列也可以清空;//data.length=0;//[]
但是陣列清空,物件處於遊離狀態,和陣列還有引用關係,沒有把引用地址賦值為null,會導致記憶體洩漏
於是,我們就採用了以下方法,發現陣列裡的陣列是沒有了,但是陣列的長度依然不變,沒有為0,因此,失敗了
最後,採用以下方法,用shift()進行頭部刪除,這樣陣列為緊密型陣列,每進行一次刪除,陣列長度減一
不足之處,歡迎大佬指正!!!
相關文章
- Java基礎知識(二)
- This relative module was not found: * ./_import_dev in ./src/router/index.js報錯
- Spring MVC3返回JSON資料中文亂碼問題解決(轉)
- vue.config.js的uglifyjs-webpack-plugin
- 【編測編學】零基礎學python_11_列表(切片+遍歷切片+複製)
- js關鍵字和方法
- Ubuntu Server 基礎應用
- 在JSP獲取虛擬目錄
- JS 原型與原型鏈
- vue 前端實現pdf下載.npm install html2canvas jspdf --save
- PNP物聯網加速營 | 優鍩ThingJS攜智慧園區視覺化系統助力城市數字化升級 3d
- 尚矽谷Java基礎——學習程式碼和筆記_day02
- 基於Kubernetes和OpenKruise的可變基礎設施實踐
- 網路營銷的基礎知識瞭解
- JS指定音訊audio在某個時間點進行播放,獲取當前音訊audio的長度,音訊時長格式轉化
- Web頁面或app等前端頁面之Java Web的JSP、Servlet、Cookie、Session等技術小結
- Java基礎 第三節 第五課
- dijkstra and A* search 演算法心得及JS實現
- 淺談JS預解析