在JavaScript中,你可以使用Object.keys()方法来获取对象的所有键(属性名),然后判断这个数组的长度是否为1,并且对象的值不为空。以下是一个函数示例,它检查一个对象是否只有一个属性,并且这个属性的值不为空:
function hasOnlyOneNonEmptyProperty(obj) { // 获取对象的所有键 const keys = Object.keys(obj); // 检查键的数量是否为1 if (keys.length === 1) { // 检查这个唯一的键对应的值是否不为空 const value = obj[keys[0]]; return value !== null && value !== undefined && value !== ''; } // 如果不是只有一个属性,或者值为空,返回false return false; } // 示例 const obj1 = { a: 'value' }; // 只有一个属性,值不为空 const obj2 = { a: '' }; // 只有一个属性,但值为空 const obj3 = { a: 'value', b: 'value' }; // 有两个属性 console.log(hasOnlyOneNonEmptyProperty(obj1)); // true console.log(hasOnlyOneNonEmptyProperty(obj2)); // false console.log(hasOnlyOneNonEmptyProperty(obj3)); // false
这个函数首先检查对象是否只有一个键,如果是,然后检查这个键对应的值是否不为空(不是null、undefined或空字符串)。如果这两个条件都满足,函数返回true,否则返回false。
网友回复