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基礎知識】Java陣列與集合Java陣列
- Rust中陣列資料結構基礎知識Rust陣列資料結構
- JS-陣列方法總結JS陣列
- JavaSE基礎語法3-陣列Java陣列
- c語言基礎知識3C語言
- corejava基礎知識(3)-泛型Java泛型
- 林大媽的JavaScript基礎知識(三):JavaScript程式設計(4)陣列JavaScript程式設計陣列
- 陣列基礎使用陣列
- 基礎知識
- JS-陣列、函式、類與物件JS陣列函式物件
- JS-基礎入門JS
- Python 必備面試基礎知識-3Python面試
- Android基礎知識:Service(3)啟動模式Android模式
- JavaScript基礎(五)陣列JavaScript陣列
- JavaScript基礎——使用陣列JavaScript陣列
- 樹狀陣列基礎陣列
- golang基礎之陣列Golang陣列
- Envoy基礎知識
- DockerFile基礎知識Docker
- Webpack 基礎知識Web
- js基礎知識JS
- React基礎知識React
- 程式基礎知識
- Docker基礎知識Docker
- qml基礎知識
- Mybatis基礎知識MyBatis
- python基礎知識Python
- Hadoop基礎知識Hadoop
- webpack基礎知識Web
- AI 基礎知識AI
- JSP基礎知識JS
- Dart基礎知識Dart
- RabbitMQ基礎知識MQ
- Android基礎知識Android
- 1、基礎知識
- 前端基礎知識前端
- Camera基礎知識
- Kafka 基礎知識Kafka