+
93
-

回答

在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。

网友回复

我知道答案,我要回答