我有一个简单的问题。如何从此示例中获取变量时间的名称:
let x = {
color: string = red;
}
let y = getVarName(x.color);
console.log(y);
结果:颜色
我怎样才能得到上面的这个结果?getVarName 是我想做的示例函数。
我有一个简单的问题。如何从此示例中获取变量时间的名称:
let x = {
color: string = red;
}
let y = getVarName(x.color);
console.log(y);
结果:颜色
我怎样才能得到上面的这个结果?getVarName 是我想做的示例函数。
正确的问题是如何根据它的值获取 obj属性的名称。对象不包含变量,只有属性。
首先使用Obj.keys()从 obj 中获取键数组,然后使用find获取与您传入的 obj 属性值匹配的键:
getPropName = (value) => x.keys().find(key => x[key] === value)
如果我有你的问题。在打字稿中,如果你真的想通过一个函数来获取它,你可以做这样的事情。否则你可以简单地得到它x.color
let x = {
color : 'red',
getColor : function(){
return this.color
}
}
let y = x.getColor();
console.log(y); // output red
工作示例
https://stackblitz.com/edit/typescript-73dpve?embed=1&file=index.ts
如果您想要密钥名称,请尝试此操作
let keys = Object.keys(x).filter(k=>x[k]==='red');
console.log(keys[0]) // output color
Object.keys()从 js 文档中阅读
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
您可以使用下面的颜色获取输出。
let color : string = 'red';
let xp : any = '';
let z = {
colors : color,
}
let p = getVarName(z.colors);
console.log('colorname: ',p);
function getVarName(xp){
return xp;
}
console.log('color name: ',z.colors);
let keys = Object.keys(z).filter(k=>z[k]==='red');
console.log('key: ',keys[0])
您可以查看此工作示例,请参阅以下链接: https ://stackblitz.com/edit/typescript-73dpve?embed=1&file=index.ts