我想创建类似这样的东西
例如:
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
反正有这样做吗?
谢谢
答案 0 :(得分:0)
答案 1 :(得分:0)
除非可以将对象转换为一个新对象(如Joseph Wang所建议的那样),否则您正在寻找的可能是一种为任何属性定义吸气剂的方法。
某些javascript实现曾经有实现此目的的方法,但是它们是非标准的,我相信当前已被删除。
我知道创建具有“计算属性”的对象的唯一方法可能是Proxy
但是,这也需要更多管道才能使其正常工作。
我的建议是尝试找出为什么需要此功能,并查看是否还有其他更简单的方法来实现此目的。
最简单的确实是仅转换此对象。通过这种转换,您可以完全按照示例中的方式访问对象:
const newObj = Object.fromEntries(
userTestStatus.map( item => [item.key, item] )
);