声明结构化javascript变量中的自引用

dre*_*mac 2 javascript oop variables json

假设我声明了一个结构化的Javascript变量,如下所示:

var mydata = {'list':[
{'fname':'george','lname':'washington'}
,{'fname':'oscar','lname':'wilde'}
,{'fname':'james','lname':'polk'}
]
,'summary':this.list[1]['lname']
}
Run Code Online (Sandbox Code Playgroud)

问题:我如何确保这一点

this.list[1]['lname']
Run Code Online (Sandbox Code Playgroud)

等于'wilde'而我的"这个"实际上指的是我的意图?

Jon*_*and 5

这不会像书面那样工作,但你可以这样做:

var mydata = {'list':[
{'fname':'george','lname':'washington'}
,{'fname':'oscar','lname':'wilde'}
,{'fname':'james','lname':'polk'}
]
}   

mydata.summary = mydata.list[1]['lname'];
Run Code Online (Sandbox Code Playgroud)


Jos*_*lio 5

你也可以在一个函数中使这个工作.

var mydata = {'list':[
{'fname':'george','lname':'washington'}
,{'fname':'oscar','lname':'wilde'}
,{'fname':'james','lname':'polk'}
]
,'summary':function(){return this.list[1]['lname']}
}

alert(mydata.summary());
Run Code Online (Sandbox Code Playgroud)