プロパティに基づいて1つのオブジェクトを複数のオブジェクトに分割します

CodingisLife
myObj = {1-inputWidth : '30px' , 1-inputHeight: '30px', 1-color : 'red',
        2-inputWidth : '20px' , 2-inputHeight: '10px', 2-color : 'blue',
        3-inputWidth : '60px' , 3-inputHeight: '70px', 3-color : 'white',  
        4-inputWidth : '90px' , 4-inputHeight: '10px', 4-color :'yellow', 
        scroll : 'auto', z-index : 1}
resultObj = {1: {1-inputWidth : '30px' , 1-inputHeight: '30px', 1-color : 'red'},
             2: { 2-inputWidth : '20px' , 2-inputHeight: '10px', 2-color : 'blue'}, 
             3: {3-inputWidth : '60px' , 3-inputHeight: '70px', 3-color : 'white'},  
             4: {4-inputWidth : '90px' , 4-inputHeight: '10px', 4-color :'yellow'}}

ほとんどのキーが数字で始まり、いくつかはそうではないオブジェクトがあります。scrollやz-indexのような番号で始まらないキーを削除し、最初のキー番号と一致する番号としてキーを持つネストされたオブジェクトを作成しようとしています。これは実際に私の頭を台無しにしました。誰かがこれを達成する方法を私に提案できますか?前もって感謝します。

マークマイヤー

を繰り返してObject.entries、正規表現で各キーを調べて、数字で始まるかどうかを確認できます。その場合は、それを適切なサブオブジェクトに追加します。

let myObj = {'1-inputWidth' : '30px' , '1-inputHeight': '30px', '1-color' : 'red','2-inputWidth' : '20px' , '2-inputHeight': '10px', '2-color' : 'blue','3-inputWidth' : '60px' , '3-inputHeight': '70px', '3-color' : 'white',  '4-inputWidth' : '90px' , '4-inputHeight': '10px', '4-color' :'yellow', scroll : 'auto', 'z-index' : 1}

let o = Object.entries(myObj)
       .reduce((obj, [k, v]) => {
          let num = k.match(/^\d+/)              // get number in key?
          if (num) {                             // was there a match?
              if (obj[num]) obj[num][k] = v      // add new entry
              else obj[num] = {[k]: v}
          }
          return obj

       }, {})

console.log(o)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

プロパティに基づいて複数のオブジェクトを配列に合計します

分類Dev

オブジェクト内の1つのプロパティに基づいて、リストから最新のオブジェクトを取得します

分類Dev

JS-1つのプロパティの重複についてオブジェクトの配列をフィルタリングし、別のプロパティに基づいて保持するオブジェクトを決定します

分類Dev

オブジェクトプロパティAngularJSに基づいて配列を2つに分割します

分類Dev

オブジェクトのプロパティに基づいて NSMutableArray から重複を削除します

分類Dev

オブジェクトの配列のvalueプロパティに基づいて重複オブジェクトを検索し、ラベルプロパティの重複オブジェクトを連結する配列を減らします。

分類Dev

プロパティに基づいて配列内のオブジェクトをマージします

分類Dev

プロパティに基づいてオブジェクトのリストを分割するc#

分類Dev

プロパティに基づいてリストから重複オブジェクトを削除します

分類Dev

値に基づいて、オブジェクトを含む1つの配列から別の配列にプロパティを追加します

分類Dev

同じプロパティ名に基づいてオブジェクトの配列を作成します

分類Dev

Thymeleaf-オブジェクトのプロパティに基づいてオブジェクトリストを反復します

分類Dev

外部オブジェクトプロパティに基づいて、オブジェクト上の配列の要素を削除します

分類Dev

anglejsng-repeatのプロパティの1つに基づいて配列オブジェクトをフィルタリングします

分類Dev

プロパティの数に基づいて、オブジェクトのサブセットをパイプラインに渡しますか?

分類Dev

ページオブジェクトgem:可視性に基づいて同じプロパティを持つオブジェクトを識別します

分類Dev

2つのプロパティに基づいてオブジェクトのキーを検索する

分類Dev

プロパティの値に基づいて、オブジェクトの配列を個別の配列に分割します

分類Dev

2つのプロパティに基づいてリストから複数のオブジェクトを取得する

分類Dev

2つのプロパティに基づいて配列からオブジェクトを削除する

分類Dev

別のオブジェクトのプロパティに基づいてオブジェクトのプロパティを入力する(Typescript内)

分類Dev

1つのプロパティに基づいて、配列内のオブジェクトをアルファベット順に並べ替えます

分類Dev

変数に基づいてオブジェクトのプロパティを変更する

分類Dev

typescriptのプロパティに基づいてオブジェクトの配列を並べ替えます

分類Dev

プロパティに基づいてオブジェクトの2つのリストをマージし、重複を新しいオブジェクトにマージする方法

分類Dev

他のプロパティに基づいてオブジェクトリテラルでオブジェクトプロパティを計算する方法

分類Dev

1つの特定の値のIDに基づいて、オブジェクトを複数の順序付けられた配列に分割します

分類Dev

オブジェクトのプロパティに基づいて新しいオブジェクトを作成する方法

分類Dev

オブジェクトのプロパティに基づいて新しいオブジェクトを作成する方法

Related 関連記事

  1. 1

    プロパティに基づいて複数のオブジェクトを配列に合計します

  2. 2

    オブジェクト内の1つのプロパティに基づいて、リストから最新のオブジェクトを取得します

  3. 3

    JS-1つのプロパティの重複についてオブジェクトの配列をフィルタリングし、別のプロパティに基づいて保持するオブジェクトを決定します

  4. 4

    オブジェクトプロパティAngularJSに基づいて配列を2つに分割します

  5. 5

    オブジェクトのプロパティに基づいて NSMutableArray から重複を削除します

  6. 6

    オブジェクトの配列のvalueプロパティに基づいて重複オブジェクトを検索し、ラベルプロパティの重複オブジェクトを連結する配列を減らします。

  7. 7

    プロパティに基づいて配列内のオブジェクトをマージします

  8. 8

    プロパティに基づいてオブジェクトのリストを分割するc#

  9. 9

    プロパティに基づいてリストから重複オブジェクトを削除します

  10. 10

    値に基づいて、オブジェクトを含む1つの配列から別の配列にプロパティを追加します

  11. 11

    同じプロパティ名に基づいてオブジェクトの配列を作成します

  12. 12

    Thymeleaf-オブジェクトのプロパティに基づいてオブジェクトリストを反復します

  13. 13

    外部オブジェクトプロパティに基づいて、オブジェクト上の配列の要素を削除します

  14. 14

    anglejsng-repeatのプロパティの1つに基づいて配列オブジェクトをフィルタリングします

  15. 15

    プロパティの数に基づいて、オブジェクトのサブセットをパイプラインに渡しますか?

  16. 16

    ページオブジェクトgem:可視性に基づいて同じプロパティを持つオブジェクトを識別します

  17. 17

    2つのプロパティに基づいてオブジェクトのキーを検索する

  18. 18

    プロパティの値に基づいて、オブジェクトの配列を個別の配列に分割します

  19. 19

    2つのプロパティに基づいてリストから複数のオブジェクトを取得する

  20. 20

    2つのプロパティに基づいて配列からオブジェクトを削除する

  21. 21

    別のオブジェクトのプロパティに基づいてオブジェクトのプロパティを入力する(Typescript内)

  22. 22

    1つのプロパティに基づいて、配列内のオブジェクトをアルファベット順に並べ替えます

  23. 23

    変数に基づいてオブジェクトのプロパティを変更する

  24. 24

    typescriptのプロパティに基づいてオブジェクトの配列を並べ替えます

  25. 25

    プロパティに基づいてオブジェクトの2つのリストをマージし、重複を新しいオブジェクトにマージする方法

  26. 26

    他のプロパティに基づいてオブジェクトリテラルでオブジェクトプロパティを計算する方法

  27. 27

    1つの特定の値のIDに基づいて、オブジェクトを複数の順序付けられた配列に分割します

  28. 28

    オブジェクトのプロパティに基づいて新しいオブジェクトを作成する方法

  29. 29

    オブジェクトのプロパティに基づいて新しいオブジェクトを作成する方法

ホットタグ

アーカイブ