2016-10-27 3 views
-3

Ich habe ein Array im folgenden Format, und ich habe zu prüfen, ob es eine Null oder nicht definierten Wert istüberprüfen Null oder undefinierten Wert für Array?

[{ 
     "categoryName": "A", 
     "product": [{ 
      "catogoryName": "A", 
      "price": "10", 
      "productName": "a" 
     }, { 
      "catogoryName": "A", 
      "price": "100", 
      "productName": "a2" 
     }, { 
      "catogoryName": "A", 
      "price": "5654", 
      "productName": "dfhdh" 
     }, { 
      "catogoryName": "A", 
      "price": "572", 
      "productName": "d" 
     }] 
     }, { 
     "categoryName": "B", 
     "product": [{ 
      "catogoryName": "B", 
      "price": "10", 
      "productName": "b" 
     }, { 
      "catogoryName": "B", 
      "price": "300", 
      "productName": "b2" 
     }] 
     }] 

ich mit dem folgenden Code versucht, aber es gibt mir immer success:1 Nachricht.

var validateCategoryList = function (categoryList,callback) { 
     async.eachSeries(categoryList, function (categoryChunk, callback) { 
      var categoryName = categoryChunk.categoryName; 
      var productList = categoryChunk.product; 
      console.log(categoryName); 
      if(!(categoryName == null || categoryName == undefined)){ 
       async.eachSeries(productList, function (item, callback) { 
        var productName = item.productName; 
        var price = item.price; 
        console.log(productName); 
        console.log(price); 
        if((!(productName == null || price == undefined)) || (!(productName == null || price == undefined))){ 
         callback(null); 
        } 
        else{ 
         callback({'success':'0','result':{},'errorMessage':'CategoryLIst invalid'}) 
         return; 
        } 
       },function (err) { 
        callback(null); 
       }); 
      } 
      else{ 
       callback({'success':'0','result':{},'errorMessage':'CategoryLIst invalid'}) 
       return; 
      } 
     },function (err) { 
      callback({'success':'1'}) 
     }); 

    } 
+0

was ist die erwartete Ausgabe? – gurvinder372

+0

Wenn es einen Nullwert gibt, muss ich eine Antwort bekommen, die zeigt, dass es einen Nullwert enthält, ansonsten wird der Rest des Prozesses fortgesetzt. –

+1

Wo benötigen Sie die Nullwertprüfung? – Sreekanth

Antwort

2

Verwenden Sie die callback zu JSON.stringify als ein Arme-Leute-Weg, um das Objekt zu durchqueren:

function hasNull(obj) { 
    let result = false; 

    JSON.stringify(obj, (_, v) => v === null || v === undefined ? result = true : v); 

    return result; 
} 
+0

Code funktioniert nicht in Knoten js, zeigt Fehler –

+0

Funktioniert gut in Versionen von Knoten, die Pfeilfunktionen unterstützen. –

Verwandte Themen