2017-05-18 12 views
1

JavaScriptで条件付き配列からキー値のプロパティを出力する方法は?

<p id="demo"></p> 

JS

const kids = [ 
{ name: 'fluffy', age: 5 }, 
{ name: 'archimedes', age: 9 }, 
{ name: 'meowth', age: 3 }, 
{ name: 'gertrude', age: 4 }, 
{ name: 'penelope', age: 7} 
]; 

document.getElementById("demo").innerHTML = xxx; 

私はまたfiddle

を行っている5以上

歳の子供の名前を表示するようにp名前と年齢の内側に印刷したい

HTML

+0

を使用し、それが「キーと値のペア」ではありません。これはプロパティの値です。 –

+0

更新@CharlieNg –

答えて

2

フィルタ 0からの条件に基づいた配列。そして、あなたはマップArray.map()を経由してその文字列表現に配列の要素ができます。

const kids = [ 
 
    { name: 'fluffy', age: 5 }, 
 
    { name: 'archimedes', age: 9 }, 
 
    { name: 'meowth', age: 3 }, 
 
    { name: 'gertrude', age: 4 }, 
 
    { name: 'penelope', age: 7} 
 
]; 
 

 
// Filter kids array by given condition: 
 
let selection = kids.filter(kid => kid.age >= 5); 
 

 
// Map selected kids to strings: 
 
let strings = selection.map(({name, age}) => `${name}, ${age} years old`); 
 

 
// Concatenate strings for output: 
 
document.getElementById('demo').textContent = strings.join('; ');
<p id="demo"></p>

+0

ありがとうございました! '=>'これは何をするのですか?それは子供の子供を意味しますか?その部分を理解しようとしています@le_m –

+0

@ZenaMesfin JavaScriptの矢印は、オブジェクト - >子のアクセスなどとは関係ありません。[arrow関数](http://stackoverflow.com/documentation/javascript/5007/arrow -機能)。あなたは 'kid.filter(function(kid){return kid.age> = 5;})のショートカットと考えることができます。 –

1

あなたが最初のフィルタ、次いで濾過し、配列を反復処理することができます。あなたのしたいが5以上歳の子供の名前を印刷するのであればArray#filterArray#forEach

const kids = [{ 
 
    name: 'fluffy', 
 
    age: 5 
 
    }, 
 
    { 
 
    name: 'archimedes', 
 
    age: 9 
 
    }, 
 
    { 
 
    name: 'meowth', 
 
    age: 3 
 
    }, 
 
    { 
 
    name: 'gertrude', 
 
    age: 4 
 
    }, 
 
    { 
 
    name: 'penelope', 
 
    age: 7 
 
    } 
 
]; 
 
var filteredKids = kids.filter(x => x.age>=5); 
 
var ans=""; 
 
filteredKids.forEach((v,i) => ans+= 'name:'+v.name+', age:'+v.age+' '); 
 
//console.log(ans); 
 
document.getElementById("demo").innerHTML = ans;
<p id="demo"></p>

関連する問題