2017-08-30 31 views
-3

私はこのようなオブジェクトがあります:私は簡単にforEachを行い、console.log(item)を行うことができます配列内のオブジェクト値を反復処理する方法は?

{ 
    username: { 
    hobby: [ 
     { 
     hobby1: "cricket", 
     hobby2: "swim" 
     }, 
     { 
     hobby3: "dance", 
     hobby4: "zumba" 
     } 
    ] 
    } 
} 

をしかし、私はちょうど値クリケット、水泳、ダンス、一人でZUMBAを(hobby4hobby1を必要としない)したい場合はどのような。誰かが値だけを抽出する方法を私に見せてもらえますか?あなただけの趣味を持つオブジェクトを使用する場合は

+1

質問は明確ではありません。オブジェクトに「趣味」はどこですか? – brk

+1

出力の詳細を正確に表示できますか? –

+1

達成しようとしている出力値 – bdalina

答えて

0

ことはでき簡単にこのようなfor内のオブジェクトとforを使用して配列をループ:

let obj = { 
 
     username: { 
 
      hobby: [ 
 
       { 
 
        hobby1: "cricket", 
 
        hobby2: "swim" 
 
       }, 
 
       { 
 
        hobby3: "dance", 
 
        hobby4: "zumba" 
 
       } 
 
      ] 
 
    } 
 
} 
 

 
for(let hobbies of obj.username.hobby) { 
 
    for(let hobby in hobbies) { 
 
      console.log(hobbies[hobby]) 
 
    } 
 
}

1

、あなたが

var obj = { 
 
    username: { 
 
    hobby: [{ 
 
     hobby1: "cricket", 
 
     hobby2: "swim" 
 
     }, 
 
     { 
 
     hobby3: "dance", 
 
     hobby4: "zumba" 
 
     } 
 
    ] 
 
    } 
 
} 
 

 
var obj2 = obj.username.hobby.reduce((a, b) => { 
 
    Object.entries(b).forEach(x => a[x[0]] = x[1]); return a; 
 
}, {}) 
 

 
console.log(obj2); 
 
console.log(Object.values(obj2)); // just the values

+0

構文エラーです。解決できますか? –

+0

@RameshRajendran - 次に適切なブラウザを取得 – adeneo

+0

IE 11は適切なブラウザではありませんか? –

1

はこれを試してみてくださいすることを返すために、配列を減らすことができ、私が理解することはあなただけの「趣味」などを必要とするということです値ではありません彼らのインデックスプットアウト

var json= { 
     username: { 
      hobby: [{ 
       hobby1: "cricket", 
       hobby2: "swim" 
      }, 
      { 
       hobby3: "dance", 
       hobby4: "zumba" 
      }] 
     } 
     } ; 

var hobbies=json.username.hobby; 

var hobbies_arr=[]; 
var i=0; 
for(var item in hobbies){ 
    item=hobbies[item];   
    for(var hobby in item){ 
     hobby=item[hobby]; 
     hobbies_arr[i]=hobby; 
     i++; 
    } 
} 

console.log(hobbies_arr); 

は次のようになり

配列[ "クリケット"、 "スイム"、 "ダンス"、 "ZUMBA"]

0

array#reduceを使用して、すべての趣味を配列に集めることができます。

var obj = {username: {hobby: [{hobby1: "cricket",hobby2: "swim"},{hobby3: "dance",hobby4: "zumba"}]}}; 
 

 
var result = obj.username.hobby.reduce((res, obj) => res.concat(Object.values(obj)), []); 
 

 
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

関連する問題