基準

2016-04-06 20 views
0

によってオブジェクト内のオブジェクトを削除する方法私は、これは持っている:基準

Object {1: Object, 2: Object, 3: Object, 4: Object, 5: Object, 6: Object, 7: Object, 8: Object, 9: Object, 10: Object, 11: Object, 12: Object, 13: Object, 14: Object, 15: Object}1: Object2: Object3: Object1: Object2: Object3: Object4: Object5: Object__proto__: Object4: Object1: Object2: ObjectfromLevel: "1"toLevel: "6"__proto__: Object3: Object4: Object5: ObjectfromLevel: "1"toLevel: "6"__proto__: Object__proto__: Object5: Object6: Object1: Object2: Object3: ObjectfromLevel: "1"toLevel: "6"__proto__: Object4: Object5: Object__proto__: Object7: Object8: Object9: Object10: Object11: Object12: Object1: Object2: ObjectfromLevel: undefinedtoLevel: undefined__proto__: Object3: Object4: Object5: Object__proto__: Object13: Object14: Object15: Object1: Object2: Object3: Object4: ObjectfromLevel: undefinedtoLevel: undefined__proto__: Object5: Object6: Object7: Object8: Object9: Object10: Object11: Object12: Object13: Object14: Object15: Object16: Object17: Object18: Object__proto__: Object__proto__: Object 

私はプロパティを未定義た各オブジェクトを削除する必要があります。 親オブジェクトに子オブジェクトがない場合は、この親オブジェクトを削除する必要があります。 言い換えれば、私はプロパティが未定義に等しくないオブジェクトだけを持つ必要があります。

+0

は、あなたが本当に単一の行にあるすべてのそのオブジェクトの構造を含める必要がありました?はるかに小さく、フォーマットされたオブジェクトもあなたのポイントを作ることができませんでしたか? – apokryfos

+0

あなたはこれまで何をしていますか? –

+0

有効なオブジェクトを追加してください。 –

答えて

0

ワーキングJSFiddle:https://jsfiddle.net/LeoAref/qmnz6w61/

var topObject = { 
    x: {}, 
    y: undefined, 
    z: { 
     n: 11, 
     c: undefined, 
     o: { 
      a: undefined, 
      l: 44 
     } 
    } 
}; 

function checkObject (obj) { 
    // Loop through obj key and check them 
    for(var key in obj) { 
     if(obj.hasOwnProperty(key)) { 
      // Key value equals undefined, then delete it. 
      if(obj[key] === undefined) { 
       delete obj[key]; 
      } 

      // Check this child if it is an object 
      else if(obj[key].constructor === Object) { 
       checkObject(obj[key]); 
      } 
     } 
    } 
} 

あなたにも、空のオブジェクトを削除したい場合は、このチェックを使用します。

JSON.stringify(obj[key]) === '{}' // true if obj[key] is empty object 
+0

ありがとうたくさんの男。 – Viruscom1000

+0

@ Viruscom1000ようこそ! –