0
var myeleArr = {
                    advertiser :{},
                    campaign :{},
                    strategy :{},
            };

myeleArr.campaign オブジェクトに文字列を挿入したいので、以下のようにしていますが、コンソールにはObject # has no method 'push'と表示されます

myeleArr.campaign.push('<span class="'+myele['status']+'"></span>'+myele['name']+'');

誰かが私を助けることができますか?

4

4 に答える 4

1

キャンペーンを文字列にする場合は、設定します

myeleArr.campaign = "my string";

キャンペーンが一連の文字列を順番に保持することを意図している場合、文字列が名前で参照されていない場合は、配列にします。

myeleArr.campaign = [];
myeleArr.campaign.push("My String");
myeleArr.campaign[0]; // "My String"

キャンペーンに一連の文字列を名前で保持する場合は、現在のキャンペーン オブジェクトに名前付きプロパティを指定し、これらの名前付きプロパティのそれぞれを文字列に設定します。

myeleArr.campaign = {
    title : "My Title",
    type  : "Campaign Type",
    description : "Campaign Description",
    num_managers : 7,
    isActive : true
};

myeleArr.campaign.title; // "My Title"
于 2012-10-09T16:48:02.003 に答える
0

このpush関数は、項目を配列に追加するために使用されますが、配列campainとして定義されていません。

これを試してください:

 var myeleArr = {
        advertiser :{},
        campaign :[], // this makes an array
        strategy :{},
 };

または、 に値を 1 つだけ持ちたい場合はcampaign、使用しないでください。push

myeleArr.campaign = '<spa...
于 2012-10-09T16:40:11.207 に答える
0

このpushメソッドは、JavaScript 配列を対象としています。したがって、オブジェクト リテラルの代わりに、キャンペーンなどのキーを変更して配列リテラルを指すようにすると、プッシュできるようになります。すなわち -

var myFoo = { advertiser: [], campaign: [], strategy: [] };
myFoo.campaign.push('my stuff');

また、キャンペーンに文字列を割り当てたいだけの場合は、単純に-

var myeleArr = {};
myeleArr.campaign = "<span>...";

Google Chrome の開発者ツールでJavaScript コンソールをチェックアウトするか、nodejs をインストールしてください。どちらも、よくわからないときにこれらのことを試すのに適した場所です。

于 2012-10-09T16:42:12.283 に答える
0

キャンペーンをarrayではなく にしobjectます。push はオブジェクトではなく配列のメソッドであるため

campaign :[],
于 2012-10-09T16:52:40.167 に答える