Typescript 如何创建索引为字符串的对象数组?
我想创造这样的东西 例如:Typescript 如何创建索引为字符串的对象数组?,typescript,Typescript,我想创造这样的东西 例如: let userTestStatus: { test: string, name: string }[] = [ { "test": 't', "name": "Available" }, { "test": 't1', "name": "Ready" }, { "test": 't2', "name": "Started" } ]; //I want to access the object like the
let userTestStatus: { test: string, name: string }[] = [
{ "test": 't', "name": "Available" },
{ "test": 't1', "name": "Ready" },
{ "test": 't2', "name": "Started" }
];
//I want to access the object like the example below
console.log(userTestStatus['t'].name);
但这样我就没有定义了。我想像这样访问对象:userTestStatus['t'].name
这样做有什么好处吗
谢谢您需要keyBy
const newObj=..keyBy(userTestStatus,'test')
现在你可以
console.log(newObj['t'].name);
除非您同意按照Joseph Wang的建议将对象转换为新对象,否则您正在寻找的可能是为任何属性定义getter的方法
一些javascript实现过去有这样做的方法,但它们是非标准的,我相信现在已经被删除了
据我所知,创建具有这种“计算属性”的对象的唯一方法可能是
然而,这也需要更多的管道来让它工作
我的建议是试着找出你为什么需要这个,看看是否有其他更简单的方法来实现这一点
最简单的方法就是变换这个对象。此转换允许您以示例中所需的方式完全访问对象:
const newObj = Object.fromEntries(
userTestStatus.map( item => [item.key, item] )
);