2015-09-03 150 views
1

任何人都可以引導我從JavaScript對象的數組刪除對象如何從JavaScript對象的數組刪除對象

這裏是我的javascript代碼

<script> 
    var line = {lines:[]}; 

    function change(num){ 
    line.lines.push({"linechange":num}); 
    } 
</script> 

這裏num是一些整數值,有沒有辦法根據num的值刪除推送的對象?

+2

您在搜索後嘗試了什麼嗎?有什麼問題 ?提示:查找索引,然後刪除給定索引處的元素。或者如果您可以負擔不同的數組對象,請對其進行過濾。 –

+0

[Array.prototype.filter()](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)可以幫助你。 – Satpal

+0

@Satpal取決於:重要的是要注意,過濾器不會從數組中移除元素,但會給出**新**數組。 –

回答

0

點擊這裏: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

上面有不同的結果,但** **都從數組中刪除元素。在第一種情況下,* 0 *屬性被刪除,並且其他屬性不受影響。這個缺失的屬性表示爲* undefined *,但它不存在(嘗試'myArray.hasOwnProperty('0')')。在第二個示例中,* splice *不僅會刪除成員,而且會將所有後續索引轉移到「填充」所創建的空白空間。因此,當* 0 *和* 1 *被移除時,* 2 *和* 3 *向下移位成爲* 0 *和* 1 *。 – RobG