[英]Unable to remove a specific Item from array
我有一個簡單的數組
arr=[{"name":"sam","value":"1"},{"name":"ram","value":"2"},{"name":"jam","value":"3"},{"name":"dam","value":"4"}]
我需要從這個數組中刪除第一個索引,它應該是以下類型
[{"name":"sam","value":"1"},{"name":"jam","value":"3"},{"name":"dam","value":"4"}]
我嘗試如下拼接
arr.splice(1,1)
但它給出了響應{"name":"ram","value":"2"}
如何獲得[{"name":"sam","value":"1"},{"name":"jam","value":"3"},{"name":"dam","value":"4"}]
這可能是一個非常簡單的問題,但我從某個時候就卡在這里了。有人可以幫忙嗎
我認為您采用Array.prototype.splice()
的返回值。
Array.prototype.splice()
返回一個包含已刪除元素的數組。
splice()
方法通過刪除或替換現有元素和/或在適當位置添加新元素來更改數組的內容
arr=[{"name":"sam","value":"1"},{"name":"ram","value":"2"},{"name":"jam","value":"3"},{"name":"dam","value":"4"}] arr.splice(1,1) console.log(arr);
您可以比較不同的方法。 請注意您是否需要更改陣列或只是獲取一份副本以與原始陣列保持一致。
注意:第一個數組索引是
0
,而不是1
。 索引一是數組的第二個元素
splice 方法返回從數組中刪除的元素。 這就是為什么您在測試中從數組中獲得第二個元素的原因
文檔:https://bytearcher.com/articles/how-to-delete-value-from-array/
在您的問題中,您得到了第二個索引1
,為了獲得顯示的值,我也將使用索引1
。
//DELETE arr=[{"name":"sam","value":"1"},{"name":"ram","value":"2"},{"name":"jam","value":"3"},{"name":"dam","value":"4"}] delete arr[1]; console.log("using delete",arr) //SPLICE METHOD arr=[{"name":"sam","value":"1"},{"name":"ram","value":"2"},{"name":"jam","value":"3"},{"name":"dam","value":"4"}] let firstElement = arr.splice(1,1) console.log("using splice",arr) console.log("the method splice return the element removed from array",firstElement ) //FILTER METHOD arr=[{"name":"sam","value":"1"},{"name":"ram","value":"2"},{"name":"jam","value":"3"},{"name":"dam","value":"4"}] let copyArr = arr.filter((element, index)=>index.== 1) console:log("extra, using filter (will return a array copy)",copyArr)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.