下面是我当前的代码:
interface ObjectIsEmptyProps {
[index: string]: number | string;
}
export const objectIsEmpty = (a: ObjectIsEmptyProps) => a &&
Object.keys(a).length >
我需要检查一个对象,它可能有许多属性提供给它。所以三个可能的函数调用的例子是:
objectIsEmpty({}) //true
objectIsEmpty({ jamie: 'hutber' }) //false
objectIsEmpty({fank: 'skinner', jamie: 'hutber' }) //false
objectIsEmpty({anArray: [], aBoolie: false, chickenSkin: 'isGreat'}) //false
所以我的函数可以接受一个具有未确定属性集的对象。目前唯一能让我满意的方法是使用any
作为参数的类型。
我怎么能支持任意数量的对象属性而不使用任何?
我不确定我完全理解了这个问题。但是,您可以使用Record
实用程序吗?
export const objectIsEmpty = (a: Record<string, unknown>) => {
return Object.keys(a).length === 0
}