0

我似乎找不到答案,我很困惑。

我有以下设置:

var object1 = {
    array1: [
        {
            prop1: val1,
            prop2: val2
        },
        {
            prop1: val1,
            prop2, val2
        }
    ]

}

我的问题是,当我添加“prop3”时,我想引用 prop1 和 prop2。我想我可以this像下面的例子那样使用,但它不起作用。

var object1 = {
    array1: [
        {
            prop1: val1,
            prop2: val2,
            prop3: "I want to include " + this.prop2 + " in this string"
        },
        {
            prop1: val1,
            prop2, val2
        }
    ]

}

我尝试过this是因为我知道访问对象中的属性可以使用this关键字。

但是this.prop2评估为undefined。我想这this可能不是问题的全部。当我尝试时:

var object1 = {
    array1: [
        {
            prop1: val1,
            prop2: val2,
            prop3: "I want to include " + object1.array1[0].prop2 + " in this string"
        },
        {
            prop1: val1,
            prop2, val2
        }
    ]

}

使用此代码,我收到错误“无法读取未定义的属性 array1”。但是,当我将它取出字符串时,我的 js 的其余部分运行正常,并且console.log(object1.array1[0].prop2,正如预期的那样,我得到了val2.

谢谢

4

0 回答 0