2014-12-22 147 views
0

从下面给定的对象 中删除名为“itemType”的属性的方法是什么?从数组中删除对象

{ 
    "id": 19, 
    "cost": 10, 
    "items": 10, 
    "numbers": 10, 
    "status": false, 
    "hours": 10, 
    "itemType": { 
     "id": 16, 
     "name": "PC 350", 
     "description": "PC 350"   
    }, 
    "typeid": 12 
} 

,使最终数组应该像

{ 
    "id": 19, 
    "cost": 10, 
    "items": 10, 
    "numbers": 10, 
    "status": false, 
    "hours": 10,   
    "typeid": 12 
} 
+1

这里没有数组,没有对象'itemtype'。然而,有一个对象有一个属性'itemtype' – charlietfl

+0

感谢您的纠正。我编辑了问题 – forgottofly

+0

可能重复的[从JavaScript对象中删除属性](http://stackoverflow.com/questions/208105/remove- property-from-javascript-object) –

回答

2

这是objectarray。您可以使用delete这样

var obj = { 
     "id": 19, 
     "cost": 10, 
     "items": 10, 
     "numbers": 10, 
     "status": false, 
     "hours": 10, 
     "itemType": { 
      "id": 16, 
      "name": "PC 350", 
      "description": "PC 350"   
     }, 
     "typeid": 12 
    } 

    delete obj.itemType; 
+0

Thanks @Alexander。 – forgottofly

0

无论是一个对象,你想从中删除属性,或者你有一个数组,并希望删除一个值,删除的方法是 -

delete obj.itemType //object. 
delete array[3] //delete 4th item from the array. 

注 - 您提供的结构不是数组,它是一个对象。

+0

'delete'不是阵列的好习惯 – charlietfl

+0

那么最好的解决方案是什么?@charlietfl? – forgottofly

+1

splice()。使用删除不会删除该索引,因此长度不会更改。试试这个'var a = [1,2,3]; 删除a [1] console.log(a.length);' – charlietfl