2017-02-20 19 views
0

これを使用してこのオブジェクトから変数を含むオブジェクト内に配列を作成しようとしていますが、エラーが発生しています。 これは間違っていますか?あなたの助けオブジェクトの値を含むオブジェクトの内部に配列を作成します

var data = { 
    p: [{content: "p", 
      text: "this is random text" }, 
      {content: "p", 
      text: "this is a second random text" 
     }], 
    img: [{content: "image", 
      src: "data/img/1_1.png", 
      alt: "This a an image"}, 
      {content: "image", 
      src: "data/img/1_2.png", 
      alt: "This is the second image"}], 
    title: {content: "title", 
      text: "Ceci est un titre"}, 
    //This doesn't work 
    all: [this.title, this.p[0], this.img[0], this.p[1], this.img[1]] 
} 
//But this works 
console.log(data.title); 
console.log(data.p); 
console.log(data.img); 
+2

"建設中"のオブジェクトの他の部分を参照することはできません。 – Pointy

+0

あなたのコードに 'this'の文脈は何ですか?これに注意を払う。 – tfidelis

+1

オンザフライで 'all'配列を簡単に構築できるときに冗長な情報を保存するのはなぜですか? – Damon

答えて

0

それが構築されるまで、あなたの現在のオブジェクトを指していないthisキーワードの Thxを。

私は、thisが次の最高の範囲を指しているか、またはあなたのケースのWindowオブジェクトを指していると思います。

ブラウザのコンソールで簡単なテスト:

var a = {"test": this}; 
console.log(a["test"]); //Window 

あなたはデータがそのように集約、またはそのプロパティを移入するためのより良い方法を見つける必要がある場合、その場でそのクエリを作ったほうが良いでしょう。

関連する問題