2021-05-12 14:32:11
JS中徹底刪除JSON物件組成的陣列中的元素
2020-09-22 12:00:48
在 JS 中,對於某個由 JSON 物件組成的陣列,例如:
var test = [{ "a": "1", "b": "2" }, { "a": "3", "b": "4" }, { "a": "5", "b": "6" }];
如果我們想要刪除其中的第二個json物件,應該怎麼做呢?其實方法和運算元組完全相同。
在最開始的時候嘗試使用了 delete 運運算元,但在查詢陣列長度的時候發現其實這種方法並不是徹底刪除元素,而是刪除它的值,但仍會保留空間。
var test = [{ "a": "1", "b": "2" }, { "a": "3", "b": "4" }, { "a": "5", "b": "6" }]; test.length //輸出為 3 delete test[1]; test.length //輸出仍為 3
查詢運運算元 delete 我們知道它只是將該值置為 undefined,而不會影響陣列長度,即將其變為稀疏陣列(《JS權威指南》7.5節)。
瞭解及此,也許想著可以將刪除點之後的元素各往前移動1個單位,實現徹底剔除該元素,但在JS方法中我們可以查到一種更加簡便的方式:splice() 方法
var test = [{ "a": "1", "b": "2" }, { "a": "3", "b": "4" }, { "a": "5", "b": "6" }]; test.length //輸出為 3 test.splice(1, 1); test.length //輸出為 2
刪除後 test.length 變為 2,這正是我們想要的結果。
JavaScript splice() 方法
陣列中新增新元素:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>js陣列新增元素_it145.com</title> </head> <body> <p id="demo">點選按鈕向陣列新增元素。</p> <button onclick="myFunction()">點我</button> <script> function myFunction(){ var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.splice(2,0,"Lemon","Kiwi"); var x=document.getElementById("demo"); x.innerHTML=fruits; } </script> </body> </html>
splice定義和用法
splice() 方法用於新增或刪除陣列中的元素。
注意:這種方法會改變原始陣列。
返回值
如果僅刪除一個元素,則返回一個元素的陣列。 如果未刪除任何元素,則返回空陣列。
語法
array.splice(index,howmany,item1,.....,itemX)
引數 Values
引數 | 描述 |
---|---|
index | 必需。規定從何處新增/刪除元素。 該引數是開始插入和(或)刪除的陣列元素的下標,必須是數位。 |
howmany | 可選。規定應該刪除多少元素。必須是數位,但可以是 "0"。 如果未規定此引數,則刪除從 index 開始到原陣列結尾的所有元素。 |
item1, ..., itemX | 可選。要新增到陣列的新元素 |
返回值
Type | 描述 |
---|---|
Array | 如果從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的陣列。 |
更多範例
範例
移除陣列的第三個元素,並在陣列第三個位置新增新元素:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>it145.com</title> </head> <body> <p id="demo">點選按鈕新增和刪除元素。</p> <button onclick="myFunction()">點我</button> <script> function myFunction(){ var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.splice(2,1,"Lemon","Kiwi"); var x=document.getElementById("demo"); x.innerHTML=fruits; } </script> </body> </html>
範例
從第三個位置開始刪除陣列後的兩個元素:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>it145.com</title> </head> <body> <p id="demo">點選按鈕刪除陣列中的兩個元素。</p> <button onclick="myFunction()">點我</button> <script> function myFunction(){ var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.splice(2,2); var x=document.getElementById("demo"); x.innerHTML=fruits; } </script> </body> </html>
到此這篇關於JS中徹底刪除JSON物件組成的陣列中的元素的文章就介紹到這了,更多相關JS刪除JSON元素內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章