import { values } from 'funtool';
const obj = {
a: 1,
b: 2,
get c() { return 3; }
};
Object.defineProperty(obj, 'd', {
value: 4,
enumerable: false
});
const sym = Symbol('e');
obj[sym] = 5;
// 获取仅可枚举值(默认)
values(obj); // [1, 2, 3, 5]
// 获取所有值,包括不可枚举
values(obj, () => true); // [1, 2, 3, 4, 5]
// 获取仅不可枚举值
values(obj, (key, desc) => !desc.enumerable); // [4]
// 获取Symbol属性值
values(obj, (key) => typeof key === 'symbol'); // [5]