在对象中找到空字符串值并更改为特定字符串?

问题描述

反应。

当某人填写表格时,我想确保将他们留空的任何字段更改为特定的字符串。当尝试通过一个对象时,我遇到了问题...

  const [formValues,setFormValues] = useState({
    firstName: firstName,lastName: lastName,email: emailAddress,})

const personalDetails = (obj) => { 
  for (let [key,value] of Object.entries(obj)) { 
    // return`${key}: ${value}`
    if (value === "") { 
      return "NA"
    }
  }
}

当某人未能填写其电子邮件地址时,我希望在对象中使用字符串“ NA”。

解决方法

我认为您太过复杂了。试试这个:

static connect(uri: string,options: MongoClientOptions,callback: MongoCallback<MongoClient>): void;

在您的输入占位符中使用。

然后:

const [formValues,setFormValues] = useState({
  firstName: '',lastName: '',email: '',});
,

我愿意:

const personalDetails = (object) => Object.keys(obj).reduce((result,key) => result[key] = object[key] || 'NA',{});
,

您编写的函数personalDetails不会更改对象属性。它只是检查是否有一个带有空字符串值的键,如果找到一个键,它仅返回"NA"并且不更改对象。值得一提的是,当找到具有值""的第一个键时,它已经返回。因此,如果用户未填写firstName,则该函数返回"NA"并在firstName之后完成其执行,将不会检查其他键。 因此,Madhu Magar的评论方式如下:

if (value === "") {
  obj[key] = "NA"
}