2016-07-13 5 views
0

インポートされたjsonの特定のプロパティを数える最も簡単な方法は?私は、ステータスが「成功」しようとしましたパイプの数を取得しようとしていると私はあなたがわからない場合は、正確なものをプロパティ(Company1のは、Company2の、...)あなたのJSONを含めることができますangular2でインポートされたjsonの文字列プロパティをカウントする方法

myjson: { 
    company1 : { 
     status : "success", 
    }, 
    company2 : { 
    status : "failure", 
    }, 
    company1 : { 
    status : "success", 
    },  
} 
+0

はタイプミスすることができますが、これは有効なJSONではありません、オブジェクトが二回(Company1の命名)同じプロパティを含めることはできません例を参照してください。 –

答えて

0

非常に混乱していますまずそれらを抽出する必要があります。詳細については

var myjson = { 
    company1: { status: "success", }, 
    company2: { status: "failure", }, 
    company3: { status: "success", }, 
}; 

var count = 0; 

for (var property in myjson) 
{ 
    if (myjson.hasOwnProperty(property) && myjson[property].status == "success") 
    { 
     count++; 
    } 
} 

JavaScriptでのオブジェクトは配列のように類似の方法でアクセスすることができますので、あなたは簡単にこのような何かを試してみてくださいfor (var property in myjson)とのすべてのプロパティを反復処理し、myjson[property]

のようにその値にアクセスすることができます未知の構造体の反復オブジェクトについて、この記事をチェックしてください。Iterate through object properties

0

あなたは古きよきオブジェクトの反復を行うことができますが、私は複写を扱う方法を知らないあなたのコードのようなキーを食べました。

var companies = { 
    company1: { 
    status: "success", 
    }, 
    company2: { 
    status: "failure", 
    }, 
    company3: { 
    status: "success", 
    } 
} 

var successCount = 0; 

for (var company in companies) { 
    var company = companies[company]; 
    for (var status in company) { 
    if(company[status] === 'success') { 
     successCount++; 
    } 
    } 
} 

document.getElementById('success').innerHTML = successCount; 

https://jsfiddle.net/rogtao73/

関連する問題