2016-11-27 5 views
-3

JavaScriptとJSONの新機能です。JSONからデータを抽出すると、返されませんでした。

しかし、私はちょうど "チェックされた"値を得るのに苦労しています。

私はループのために使用しましたが、私はconsole.logのdata.checkedを試してみましたが、常にundefinedを返しました。どのようにこれを行うことができますか?

+0

これはJSONではありません。 – Oriol

+0

あなたは配列のチェックを受けるので、大括弧のペアを削除して – stasovlas

答えて

1

インデックスを使用して最初の配列要素を取得し、反復処理のためにArray#forEachメソッドを使用します。

var data = [ 
 
    [{ 
 
    "checked": false, 
 
    "no": "1" 
 
    }, { 
 
    "checked": true, 
 
    "no": "2" 
 
    }] 
 
]; 
 

 
data[0].forEach(function(v) { 
 
    console.log(v.checked); 
 
})

+1

ありがとう!できます。 – sse

0

あなたはあなたがdata[0]でそれらにアクセスする必要がありますメンバーオブジェクトのcheckedプロパティにアクセスするには、ネストされた配列を、持っています。

let innerData = data[0]; 
for(let i = 0; i < innerData.length; i++) { 
    console.log(innerData[i].checked); 
} 
0

あなたのJSONには、最上位の配列があり、その中に別のレベルの配列があり、その配列にはオブジェクトがあります。だからあなたがするべきことは、このようなものです。

for (var i = 0; i < data.length; ++i) { 
    for (var j = 0; j < data[i].length; ++j) { 
    console.log(data[i][j], data[i][j].checked); 
    } 
} 
0

あなたは常にループとして次に

array = array[0]; 

ループとダブルネストされた配列を取り除くことができます。

0
// This is array in array with object 
var data = [[{"checked":false,"no":"1"},{"checked":true,"no":"2"}]] 


for(var i = 0 ; i < data.length ; i++){ // Test the length of first array and go inside 
    for(var z = 0 ; z < data[i].length ; z++){ // When you are inside the array go to another one array and inside go and search 'chacked' 
     console.log(data[i][z]['checked']); // show value of the checked 
    } 
} 
関連する問題