オブジェクトをネストする4つのレベルでオブジェクトのそれぞれを取得するにはどうすればよいですか?

lyscop

3つのオブジェクトを含むオブジェクトを作成します。そのうちの1つには3つのオブジェクトが含まれ、それぞれに値を設定してもらいたいと思います。

そして、分割するオブジェクトの種類がわからないのですが、すべてオブジェクトのようです。

私はこのようにしようとしました。最初にトラバースしてオブジェクトと配列を認識し、次に2回トラバースし、出発時に3回トラバースしましたが、コンソールにエラーが表示されます。


>未定義の
TypeErrorのプロパティ「www.google.com」を設定できません:
evalで未定義のプロパティ「www.google.com」を設定できません (userscript.html?name =
at Array.forEach()

元のスクリプトは、オブジェクトをネストする4つのレベルを除外しています。ブラウザ検索ツール

    Object.keys(iconsData).forEach(function(value1) {

        if(iconsData[value1].constructor === Array){
            iconsData[value1].forEach(function (value2) {
                console.log('typeArray--'+iconsData[value1].constructor)
                value2.host.forEach(function(host) {
                    iconsData.hostCustomMap[host] = value2.custom     // The console shows an Error maybe here
                })
            })
        } else if (iconsData[value1].constructor === Object) {
            Object.keys(iconsData[value1]).forEach(function (value2) {
                console.log('typeObject--'+iconsData[value1].constructor)
                iconsData[value1][value2].forEach(function (value3) {
                    value3.host.forEach(function(host){
                        iconsData.hostCustomMap[host] = value3.custom
                    });
                });
            });
        }
    })

次のコードには、ネストオブジェクトが含まれています。

(function () {
    'use strict';
    var keyword = {
        beforePopup: function (popup) {
            var text = window.getSelection().toString().trim();
            GM_setValue('search', text);
            popup(text);
        },
        beforeCustom: function (custom) {
            var text = GM_getValue('search');
            GM_setValue('search', '');
            custom(text);
        },

    };

var iconsData = {
    iconArraya: {
        Arraya: [
            {
                name: 'Google',
                image:'https://i.ibb.co/R9HMTyR/1-5.png',
                host: ['www.google.com'],
                popup: function (text) {
                open('https://search.google.com/live?keyword=' + encodeURIComponent(text));
                }
            }
        ],
        Arrayb: [
            {
                name: 'Bing',
                image: 'https://i.ibb.co/pwkLTFc/1.png',
                host: ['www.bing.com'],
                popup: function (text) {
                open('https://www.bing.com/live?keyword=' + encodeURIComponent(text)');
                }
            }
        ],
        Arrayc: [
            {
                name: 'Youtube',
                image:'https://i.ibb.co/FWVJ3Kf/1-2.png',
                host: ['www.youtube.com'],
                popup: function (text) {
                open('https://www.youtube.com/live?keyword=' + encodeURIComponent(text)');
                }
            }
        ]
    },
    iconArrayb: [
        {
            name: 'open',
            image:'https://i.ibb.co/fxpm6Wc/image.png',
            host: [''],
            popup: function (text) {
                open(encodeURIComponent(text));
            }
        }
    ],
    iconArrayc: [
        {
            name: 'copy',
            image:'https://i.ibb.co/PQ5xM2R/2-1.png',
            host: [''],
            popup: function (text) {
                document.execCommand('copy', false, null))
            }
        }
    ],
    hostCustomMap: {}
    }


フレデリック・ブリューニング

未定義のプロパティ「www.google.com」を設定できませんTypeError:未定義のプロパティ「www.google.com」を設定できません

hostCustomMapはiconsDataのプロパティではないため、エラーがスローされます。

コードでは、最後にhostCustomMapという名前の変数を設定します。これは、オブジェクトiconsDataのプロパティである必要があります。元のスクリプトのように。

このような:

var iconsData = {
    iconArraya: ...,
    iconArrayb: ...,
    iconArrayc: ...,
    iconArrayD: ...,
    hostCustomMap: {}
}

これではない:

var iconsData = {
    iconArraya: ...,
    iconArrayb: ...,
    iconArrayc: ...,
    iconArrayD: ...
}

var hostCustomMap = {}

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

NSStringでNSArrayオブジェクトを取得し、そのオブジェクトを1つずつ送信するにはどうすればよいですか?

分類Dev

各オブジェクトをそれぞれと比較するにはどうすればよいですか?

分類Dev

各サイン木製オブジェクトのそれぞれにテキストを追加するにはどうすればよいですか?

分類Dev

特性オブジェクトのアドレスを取得するにはどうすればよいですか?

分類Dev

同じレベルの別のjsonオブジェクトにjsonオブジェクトを追加するにはどうすればよいですか?

分類Dev

派生オブジェクトのベクトルを作成するにはどうすればよいですか?

分類Dev

複数のオブジェクトを持つPython辞書から繰り返しオブジェクトとそれぞれのキーの総数を取得するにはどうすればよいですか?

分類Dev

タプルオブジェクトのリストから辞書オブジェクトを取得するにはどうすればよいですか?

分類Dev

Javascriptオブジェクトの最後のネストされたレベルに空のオブジェクトしかないかどうかをテストするにはどうすればよいですか?

分類Dev

オブジェクトの配列をネストされたオブジェクトに変換するにはどうすればよいですか?

分類Dev

webapiオブジェクトのリストを取得するにはどうすればよいですか?

分類Dev

jsonネストオブジェクトを取得するにはどうすればよいですか?

分類Dev

Mongoクエリでネストされた3ラベル配列オブジェクトを取得するにはどうすればよいですか?

分類Dev

オブジェクトのリストで次のオブジェクトを取得するにはどうすればよいですか?

分類Dev

3つのオブジェクトを含む配列から各オブジェクトを取得するにはどうすればよいですか?

分類Dev

Terraformのオブジェクトのリストからオブジェクトを取得するにはどうすればよいですか?

分類Dev

PHPでルートオブジェクトへの反復オブジェクト参照を取得するにはどうすればよいですか?

分類Dev

春に1つのオブジェクトを別のクラスオブジェクトに注入するにはどうすればよいですか?

分類Dev

このIDベースのオブジェクトをオブジェクトの配列に変換するにはどうすればよいですか?

分類Dev

OnTriggerEnterの使用中にヒットするオブジェクトの法線ベクトルを取得するにはどうすればよいですか?

分類Dev

複数レベルのSQLAlchemy関係を介してオブジェクトのセットを取得するにはどうすればよいですか?

分類Dev

モデルの前のオブジェクトと次のオブジェクトを取得するにはどうすればよいですか?

分類Dev

オブジェクトのスコープ外でコールバックイベントを取得するにはどうすればよいですか?

分類Dev

オブジェクトのネストされたリストから個別の値を取得するにはどうすればよいですか?

分類Dev

オブジェクトをオブジェクトから別のオブジェクトに送信するにはどうすればよいですか?

分類Dev

ネストされたjsonオブジェクトの配列で子IDの直接の親IDを取得するにはどうすればよいですか?

分類Dev

ガベージコレクションされたオブジェクトの統計を取得するにはどうすればよいですか?

分類Dev

2つのJavaScriptオブジェクトをマージするにはどうすればよいですか?

分類Dev

データベーステーブルデータ(oracle 11g)をJsonオブジェクトとして取得し、AndroidでそのJsonオブジェクトを表示するにはどうすればよいですか?

Related 関連記事

  1. 1

    NSStringでNSArrayオブジェクトを取得し、そのオブジェクトを1つずつ送信するにはどうすればよいですか?

  2. 2

    各オブジェクトをそれぞれと比較するにはどうすればよいですか?

  3. 3

    各サイン木製オブジェクトのそれぞれにテキストを追加するにはどうすればよいですか?

  4. 4

    特性オブジェクトのアドレスを取得するにはどうすればよいですか?

  5. 5

    同じレベルの別のjsonオブジェクトにjsonオブジェクトを追加するにはどうすればよいですか?

  6. 6

    派生オブジェクトのベクトルを作成するにはどうすればよいですか?

  7. 7

    複数のオブジェクトを持つPython辞書から繰り返しオブジェクトとそれぞれのキーの総数を取得するにはどうすればよいですか?

  8. 8

    タプルオブジェクトのリストから辞書オブジェクトを取得するにはどうすればよいですか?

  9. 9

    Javascriptオブジェクトの最後のネストされたレベルに空のオブジェクトしかないかどうかをテストするにはどうすればよいですか?

  10. 10

    オブジェクトの配列をネストされたオブジェクトに変換するにはどうすればよいですか?

  11. 11

    webapiオブジェクトのリストを取得するにはどうすればよいですか?

  12. 12

    jsonネストオブジェクトを取得するにはどうすればよいですか?

  13. 13

    Mongoクエリでネストされた3ラベル配列オブジェクトを取得するにはどうすればよいですか?

  14. 14

    オブジェクトのリストで次のオブジェクトを取得するにはどうすればよいですか?

  15. 15

    3つのオブジェクトを含む配列から各オブジェクトを取得するにはどうすればよいですか?

  16. 16

    Terraformのオブジェクトのリストからオブジェクトを取得するにはどうすればよいですか?

  17. 17

    PHPでルートオブジェクトへの反復オブジェクト参照を取得するにはどうすればよいですか?

  18. 18

    春に1つのオブジェクトを別のクラスオブジェクトに注入するにはどうすればよいですか?

  19. 19

    このIDベースのオブジェクトをオブジェクトの配列に変換するにはどうすればよいですか?

  20. 20

    OnTriggerEnterの使用中にヒットするオブジェクトの法線ベクトルを取得するにはどうすればよいですか?

  21. 21

    複数レベルのSQLAlchemy関係を介してオブジェクトのセットを取得するにはどうすればよいですか?

  22. 22

    モデルの前のオブジェクトと次のオブジェクトを取得するにはどうすればよいですか?

  23. 23

    オブジェクトのスコープ外でコールバックイベントを取得するにはどうすればよいですか?

  24. 24

    オブジェクトのネストされたリストから個別の値を取得するにはどうすればよいですか?

  25. 25

    オブジェクトをオブジェクトから別のオブジェクトに送信するにはどうすればよいですか?

  26. 26

    ネストされたjsonオブジェクトの配列で子IDの直接の親IDを取得するにはどうすればよいですか?

  27. 27

    ガベージコレクションされたオブジェクトの統計を取得するにはどうすればよいですか?

  28. 28

    2つのJavaScriptオブジェクトをマージするにはどうすればよいですか?

  29. 29

    データベーステーブルデータ(oracle 11g)をJsonオブジェクトとして取得し、AndroidでそのJsonオブジェクトを表示するにはどうすればよいですか?

ホットタグ

アーカイブ