角度4.0.3中的字符串连接

时间:2017-05-01 17:47:35

标签: angular

我想动态获取对象的值。这是对象:

myObj = {
person1:{name:"John Doe", age:"46"},
person2:{name:"Peter Deer", age:"36"},
person3:{name:"Ben Boar", age:"21"}
}

我有一个从对象中获取所需名称的功能。这是功能:

showPersonName(objKey: number) {
console.log(this.myObj + 'person' +objKey.name);
}

如果我传递1,我想要的结果是objKey显示John Doe,但是Visual Studio Code显示

Property 'name' does not exist on type 'number'.

拜托,我该怎么办?我对此很难过。

2 个答案:

答案 0 :(得分:0)

您正在定义

fetchMyObj(objKey: number) {

objKey是一个数字以及如何搜索其name

更新1:

showPersonName(objKey: number) {
    console.log(this.myObj.find(obj =>{ return obj.age:objKey}))
}

对象格式

myObj = [{name:"John Doe", age:46},
         {name:"Peter Deer", age:36},
         {name:"Ben Boar", age:21}];

<强> PLUNKER

答案 1 :(得分:0)

哦,我的!我的问题是连接使用不当。我在这里找到了帮助:JavaScript object: access variable property by name as string 我应该在我的情况下使用方括号。

console.log(this.myObj['person' + objKey].name);

这解决了我的问题。我非常感谢你们(特别是@Aravind)忍受我的无知。