任何人都可以引導我從JavaScript對象的數組刪除對象如何從JavaScript對象的數組刪除對象
這裏是我的javascript代碼
<script>
var line = {lines:[]};
function change(num){
line.lines.push({"linechange":num});
}
</script>
這裏num
是一些整數值,有沒有辦法根據num
的值刪除推送的對象?
任何人都可以引導我從JavaScript對象的數組刪除對象如何從JavaScript對象的數組刪除對象
這裏是我的javascript代碼
<script>
var line = {lines:[]};
function change(num){
line.lines.push({"linechange":num});
}
</script>
這裏num
是一些整數值,有沒有辦法根據num
的值刪除推送的對象?
點擊這裏:https://stackoverflow.com/search?q=javascript+delete+from+array
刪除在這種情況下,將只設置元素爲未定義:
> myArray = ['a', 'b', 'c', 'd']
["a", "b", "c", "d"]
> delete myArray[0]
true
> myArray
[undefined, "b", "c", "d"]
拼接實際上刪除該數組中的元素:
> myArray = ['a', 'b', 'c', 'd']
["a", "b", "c", "d"]
> myArray.splice(0, 2)
["a", "b"]
> myArray
["c", "d"]
簡單搜索,你自己得到了這個。 參考:Deleting array elements in JavaScript - delete vs splice
上面有不同的結果,但** **都從數組中刪除元素。在第一種情況下,* 0 *屬性被刪除,並且其他屬性不受影響。這個缺失的屬性表示爲* undefined *,但它不存在(嘗試'myArray.hasOwnProperty('0')')。在第二個示例中,* splice *不僅會刪除成員,而且會將所有後續索引轉移到「填充」所創建的空白空間。因此,當* 0 *和* 1 *被移除時,* 2 *和* 3 *向下移位成爲* 0 *和* 1 *。 – RobG
您在搜索後嘗試了什麼嗎?有什麼問題 ?提示:查找索引,然後刪除給定索引處的元素。或者如果您可以負擔不同的數組對象,請對其進行過濾。 –
[Array.prototype.filter()](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)可以幫助你。 – Satpal
@Satpal取決於:重要的是要注意,過濾器不會從數組中移除元素,但會給出**新**數組。 –