【JavaScript】 Objectの配列から一部の要素(key&value)を抽出・取り出す方法 | mapメソッドとforEachメソッド

Object-Array-Extract

こんにちは、フロントエンドエンジニアのまさにょんです。

今回は、JavaScriptでObjectの配列から一部の要素(key&valu)を抽出・取り出す方法を解説します。

Objectの配列から一部の要素(key&value)を抽出・取り出す方法

今回は、3-PatternのObjectの配列から一部の要素(key&valu)を抽出・取り出す方法のSampleを掲載しています。

ぜひConsoleで実行して、Checkしてみてください!

// Object-Array から 一部の key & value のみを抽出した、Object-Array を新規作成する方法

const projectList = [
    { value: 'ロボ玉試作1号機', group_name: 'ロボ玉組', from: 'グンマー帝国', like: 'ひまたね', age: 1 },
    { value: '白桃', group_name: null, from: 'グンマー帝国', like: 'ひまたね', age: 1  },
    { value: 'ロボ玉試作2号機', group_name: 'ロボ玉組', from: 'グンマー帝国', like: 'ひまたね', age: 1  },
    { value: 'ももちゃん', group_name: 'ロボ玉組', from: 'グンマー帝国', like: 'ひまたね', age: 1  },
    { value: 'ロボ玉試作3号機', group_name: null, from: 'グンマー帝国', like: 'ひまたね', age: 1  },
];

// map で新しい配列を作成する!

// 1. 抽出する key & value の数が少ないのなら、これでいい!
const extractList = projectList.map(project => ({ value: project.value, from: project.from }));

console.log({extractList});
// < 出力結果 >
// extractList: Array(5)
    // 0: {value: 'ロボ玉試作1号機', from: 'グンマー帝国'}
    // 1: {value: '白桃', from: 'グンマー帝国'}
    // 2: {value: 'ロボ玉試作2号機', from: 'グンマー帝国'}
    // 3: {value: 'ももちゃん', from: 'グンマー帝国'}
    // 4: {value: 'ロボ玉試作3号機', from: 'グンマー帝国'}
    // length: 5


// 2. 抽出する key & value の数が多い場合、別で Target-Key-Array を作成する Ver. forEach

const extractKeyList = ['value', 'group_name', 'from'];

const extractList2 = [];
projectList.forEach(project => {
    let proj = {}; // Init

    extractKeyList.forEach(key => {
        const targetVal = project[key];
        proj[key] = targetVal;
    });
    extractList2.push(proj);
});

console.log({extractList2});
// < 出力結果 >
// extractList2: Array(5)
    // 0: {value: 'ロボ玉試作1号機', group_name: 'ロボ玉組', from: 'グンマー帝国'}
    // 1: {value: '白桃', group_name: null, from: 'グンマー帝国'}
    // 2: {value: 'ロボ玉試作2号機', group_name: 'ロボ玉組', from: 'グンマー帝国'}
    // 3: {value: 'ももちゃん', group_name: 'ロボ玉組', from: 'グンマー帝国'}
    // 4: {value: 'ロボ玉試作3号機', group_name: null, from: 'グンマー帝国'}
    // length: 5


// 3. 抽出する key & value の数が多い場合、別で Target-Key-Array を作成する Ver. map

const extractKeyArray = ['value', 'group_name', 'from', 'age'];

const extractList3 = projectList.map(project => {
    let proj = {}; // Init

    extractKeyList.forEach(key => {
        const targetVal = project[key];
        proj[key] = targetVal;
    });
    return proj;
});

console.log({extractList3});
// < 出力結果 >
// extractList3: Array(5)
    // 0: {value: 'ロボ玉試作1号機', group_name: 'ロボ玉組', from: 'グンマー帝国'}
    // 1: {value: '白桃', group_name: null, from: 'グンマー帝国'}
    // 2: {value: 'ロボ玉試作2号機', group_name: 'ロボ玉組', from: 'グンマー帝国'}
    // 3: {value: 'ももちゃん', group_name: 'ロボ玉組', from: 'グンマー帝国'}
    // 4: {value: 'ロボ玉試作3号機', group_name: null, from: 'グンマー帝国'}
    // length: 5

JavaScript書籍 Ver. 中級-上級者向け

JavaScript書籍 Ver. 初級者向け

最近の投稿