データがオブジェクトの配列であるオブジェクトがあり、データオブジェクト内に配列である1つのusersプロパティがあります。
すべてのユーザーを1つの配列にまとめる必要があります。私が使用して書かれているmap
とconcat
。
より良い解決策を得る方法はありますか、それともこれは正しいですか?
以下のスニペットを参照してください。
var response = {data: [{users: [1,2,3]}, {users: [4,5,6]}]}
var users = response.data.map(o => o.users)
const usersCollection = [].concat(...users)
console.log(usersCollection)
あなたが使用することができますArray.prototype.flat()
:
この
flat()
メソッドは、指定された深さまで再帰的にすべてのサブ配列要素が連結された新しい配列を作成します。
depth | Optional
ネストされた配列構造をフラット化する深さを指定する深さレベル。デフォルトは1です。
var response = {data: [{users: [1,2,3]}, {users: [4,5,6]}]}
var users = response.data.map(o => o.users).flat();
console.log(users);
深さ1の呼び出しが続くのArray.prototype.flatMap()
と同じものでmap
flat
試すこともできます。
var users = response.data.flatMap(o => o.users);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加