,可以通过以下步骤实现:
Object.keys()
方法获取对象的所有键。Array.prototype.filter()
方法过滤出符合条件的键。在过滤函数中,可以使用typeof
操作符判断对象值的类型,然后返回符合条件的键。以下是一个示例代码:
function filterKeysByValueType(obj: Record<string, any>, type: string): string[] {
return Object.keys(obj).filter(key => typeof obj[key] === type);
}
// 示例对象
const obj = {
name: 'John',
age: 25,
isActive: true,
hobbies: ['reading', 'coding'],
};
// 获取值类型为字符串的键
const stringKeys = filterKeysByValueType(obj, 'string');
console.log(stringKeys); // ['name']
// 获取值类型为数字的键
const numberKeys = filterKeysByValueType(obj, 'number');
console.log(numberKeys); // ['age']
// 获取值类型为布尔值的键
const booleanKeys = filterKeysByValueType(obj, 'boolean');
console.log(booleanKeys); // ['isActive']
// 获取值类型为数组的键
const arrayKeys = filterKeysByValueType(obj, 'object');
console.log(arrayKeys); // ['hobbies']
在这个示例中,filterKeysByValueType
函数接受一个对象和一个类型参数,返回符合指定类型的键的数组。通过调用这个函数,可以获取按对象值类型过滤的对象键的联合类型。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云