Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

ネストされた配列ペアをJavaScriptの配列内のオブジェクトに変換する方法は?


このような配列の配列があるとします-

const arr = [
   [
      ['firstName', 'Joe'],
      ['lastName', 'Blow'],
      ['age', 42],
      ['role', 'clerk'],
      [
         ['firstName', 'Mary'],
         ['lastName', 'Jenkins'],
         ['age', 36],
         ['role', 'manager']
      ]
   ]
];

そのような配列を1つ取り込むJavaScript関数を作成する必要があります。関数は、この配列の配列に基づいてオブジェクトの配列を構築する必要があります。

出力配列には、一意のユーザーごとのオブジェクトとそのその他の詳細が含まれている必要があります。

したがって、配列の出力は次のようになります-

const output = [
   {firstName: 'Joe', lastName: 'Blow', age: 42, role: 'clerk'},
   {firstName: 'Mary', lastName: 'Jenkins', age: 36, role: 'manager'}
];

このためのコードは-

になります
const arr = [
   [
      ['firstName', 'Joe'],
      ['lastName', 'Blow'],
      ['age', 42],
      ['role', 'clerk'],
      [
         ['firstName', 'Mary'],
         ['lastName', 'Jenkins'],
         ['age', 36],
         ['role', 'manager']
      ]
   ]
];
const convertToObject = (arr = []) => {
   const empty = {};
   const res = arr.map(el => {
      const object = this;
      el.forEach(attr => {
         let name = attr[0], value = attr[1];
         object[name] = value;
         return object;
      }, object);
      return this;
   }, empty);
   return res;
}
console.log(convertToObject(arr));

出力

そして、コンソールの出力は-

になります
[
   {
      firstName: 'Joe',
      lastName: 'Blow',
      age: 42,
      role: 'clerk',
      'firstName,Mary': [ 'lastName', 'Jenkins' ]
   }
]

  1. 辞書をJavaScriptオブジェクトのリストに変換する方法は?

    以下は、辞書をJavaScriptオブジェクトのリストに変換するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> &

  2. カンマ区切りの文字列の配列をオブジェクトの配列に変換するにはどうすればよいですか?

    以下は、コンマ区切りの文字列の配列をオブジェクトの配列に変換するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> &