2016-10-27 11 views
-3

は、私は次の形式の配列を持っていると私は、私は次のコードで試してみました任意のnullまたは未定義の値配列のnullまたはundefined値をチェックしますか?

[{ 
     "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" 
     }] 
     }] 

があるかどうかを確認する必要がありますが、それはいつも私を与えるsuccess:1メッセージを。

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

予想される出力は何ですか? – gurvinder372

+0

ヌル値がある場合、ヌル値を保持していることを示すレスポンスを取得する必要があります。それ以外の場合は、プロセスの残りの部分が続行されます。 –

+1

ここで、ヌル値チェックが必要ですか? – Sreekanth

答えて

2

オブジェクトを通過する貧乏人の方法としてJSON.stringifycallbackを使用します。

function hasNull(obj) { 
    let result = false; 

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

    return result; 
} 
+0

ノードjsでコードが機能しないため、エラーが表示される –

+0

矢印機能をサポートするノードのバージョンで問題なく動作します。 –

関連する問題