前提
Reactを利用してアプリケーションを作成しています。
調べていた中で、良い例の記事があったのでそこからコードを抜粋して質問させていただきます。
実現したいこと
いくつかある配列の中から条件に合う配列を抽出し、抽出した配列の中の特定の値のみを取得したいと思っております。
ソースコードを例にすると、
今のコードでは「populationが1000以上の配列」を条件とし、結果として2つの配列が取得できています。
ここから、その取得した2つの配列内の'country'の値のみを取得することが、実現したいこととなります。
自分でも記述方法を変えたりなど、色々試してみたのですがどの方法もうまくいかなかったので、何か少しでもわかる方がいましたら、ご教授いただきたいです。
よろしくお願いいたします。
該当のソースコード
const array = [ {'ranking': 1, 'country': 'China', 'population': 1448.5}, {'ranking': 2, 'country': 'India', 'population': 1406.6}, {'ranking': 3, 'country': 'USA', 'population': 334.8}, {'ranking': 4, 'country': 'Indonesia', 'population': 279.1}, {'ranking': 5, 'country': 'Pakistan', 'population': 229.5} ]; const filterResult = array.filter( function (value) { return value.population >= 1000; }) console.log('抽出結果: ', filterResult);
抽出結果: [ { ranking: 1, country: 'China', population: 1448.5 }, { ranking: 2, country: 'India', population: 1406.6 } ]
試したこと
まずはconsole.logの部分を以下のように変更してみましたが、undefinedが表示されました。
console.log('抽出結果: ', filterResult.country);
他には、フィルター関数を定義している部分以下を、次のように変更してみました。
const filterResult = array.filter( function (value) { return value.population >= 1000; }) const [countryName, setCountryName] = useState(); const testArray = () => { setCountryName(filterResult.country); console.log(countryName); };
こちらの関数の実行結果もundefinedでした。
回答1件
あなたの回答
tips
プレビュー