typescript 对象类型声明中 ,1个key 是确定的, 其它key 未确定
时间: 2023-05-14 22:04:31 浏览: 705
可以使用索引签名来声明未确定的 key,例如:
interface MyObject {
[key: string]: any;
knownKey: string;
}
这样就可以声明一个对象类型,其中 knownKey 是确定的,其它 key 未确定。
相关问题
typescript 对象 通过值找键
在 TypeScript 中,如果你有一个对象,并想通过对象的某个值来查找对应的键,你可以使用 `Object.keys()` 或者结合 `find()` 方法来实现这个功能。这里是一个简单的例子:
```typescript
let obj: { [key: string]: any } = {
name: 'John',
age: 30,
occupation: 'Developer'
};
// 使用 Object.keys() 和 Array.prototype.includes()
const key = Object.keys(obj).find(key => obj[key] === 'John'); // 查找对应值为 'John' 的键
if (key) {
console.log(`找到的键是:${key}`);
} else {
console.log('未找到匹配的键');
}
// 如果你不确定值是否存在,也可以尝试使用更安全的方式
try {
const keyWithDefault = obj.hasOwnProperty('name') ? 'name' : undefined;
console.log(`默认的键是:${keyWithDefault}`);
} catch (error) {
console.error('查找失败,可能不存在该键');
}
```
阅读全文