在使用Arrow Function时,Object.values()的行为是已知的,它会返回一个给定对象自身的所有可枚举属性值的数组。如果在Arrow Function中使用Object.values()出现问题,可能是由于其他原因引起的。以下是一些可能的解决方法:
const obj = {a: 1, b: 2, c: 3};
const values = Object.values(obj);
console.log(values); // [1, 2, 3]
const str = "Hello";
const values = Object.values(str); // TypeError: Object.values called on non-object
const obj = {a: 1, b: 2, c: 3};
// 使用普通函数而不是Arrow Function
const getValues = function() {
return Object.values(this);
};
const values = getValues.call(obj);
console.log(values); // [1, 2, 3]
无论使用哪种解决方法,都要确保代码中没有其他错误或逻辑问题导致Object.values()无法正常工作。