2017-01-25 7 views
-1

オブジェクトデータから2つの配列を作成します。Javascriptが <p></p>は、だから私は最初の2つの配列を作成...私はいくつかのデータを持っていると私は2つの配列を作成するループを必要とする

namelist = []; 
countList = []; 


{ 
    "id": "622", 
    "name": "main", 
    "sub": { 
     "637": { 
      "id": "637", 
      "name": "name 1", 
      "stats": { 
       "count": 5 
      } 
     }, 
     "638": { 
      "id": "638", 
      "name": "name 2", 
      "stats": { 
       "count": 10 
      } 
     } 
    } 
} 

このため望ましい結果を例は次のようになります。countListについては

['name 1', 'name 2'] 

:名前リストについては

[5, 10] 

どうすればいいですか?

+3

私たちが試して解決できるループがありますか?むしろ私たちの誰かがあなたのためにそれを解決するのではなく。 – MannfromReno

+1

['for ... in'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration#for...in_statement)+ [' Array.prototype.push( ) '](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push) – Andreas

+1

[JavaScriptオブジェクトのプロパティ値を配列?](http://stackoverflow.com/questions/1718777/how-might-i-extract-the-property-values-of-a-javascript-object-into-an-array) –

答えて

1
var nameList = []; 
var countList = []; 

var myObj = 
{ 
    "id": "622", 
    "name": "main", 
    "sub": { 
     "637": { 
      "id": "637", 
      "name": "name 1", 
      "stats": { 
       "count": 5 
      } 
     }, 
     "638": { 
      "id": "638", 
      "name": "name 2", 
      "stats": { 
       "count": 10 
      } 
     } 
    } 
}; 



for(var key in myObj.sub){ 
    nameList.push(myObj.sub[key].name); 
    countList.push(myObj.sub[key].stats.count); 
} 

console.log(nameList); 
console.log(countList); 
0
for(var key in obj.sub){ 
    nameList.push(obj.sub[key].name); 
    countList.push(obj.sub[key].stats.count; 
} 
0

Object.keysオブジェクトのプロパティを歩くのに役立つことがあります。あなたのオブジェクトに関連する例:

var namelist = [], 
    countList = [], 
    obj = { 
    "id": "622", 
    "name": "main", 
    "sub": { 
     "637": { 
     "id": "637", 
     "name": "name 1", 
     "stats": { 
      "count": 5 
     } 
     }, 
     "638": { 
     "id": "638", 
     "name": "name 2", 
     "stats": { 
      "count": 10 
     } 
     } 
    } 
    }; 

Object.keys(obj.sub).forEach(function(item) { 
    namelist.push(obj.sub[item].name); 
    countList.push(obj.sub[item].stats.count); 
}); 

console.log(namelist, countList); 

の作業例:明らかにhttps://jsfiddle.net/ry0zqweL/

、あなたは多くの方法でそれを最適化することができます。それは単に多くのソリューションの1つを示しています。

関連する問題