当为空时,设置JavaScript对象成员的默认值

Set default value of JavaScript object member when null

本文关键字:对象 成员 默认值 JavaScript 设置      更新时间:2023-09-26

我有以下JavaScript对象

myObject = {
    Fname: 'A',
    Mname: null,
    Lname: 'C',
    Email: 'AB@gmail.com',
    Address: null,
    Login: 'AB',
    Active: null
};

我想将字段设置为默认值,如果它是null,那么我的结果对象应该是这样的。

Object {
    Fname: "A",
    Mname: "",
    Lname: "C",
    Email: "AB@gmail.com",
    Address: "",
    Login: 'AB',
    Active: ""
}

有什么快速的方法吗,因为在我的情况下,大约有80到100个对象的字段。而且逐个检查字段要花很多时间

Object.keysforEach的用法如下:

myObject = {
  Fname: 'A',
  Mname: null,
  Lname: 'C',
  Email: 'AB@gmail.com',
  Address: null,
  Login: 'AB',
  Active: null
};
// Get array of keys of the object
// Loop over it
Object.keys(myObject).forEach(function(e) {
  // If value of the object member is `null` set it to `''` - empty string.
  if (myObject[e] === null)
    myObject[e] = '';
});
console.log(myObject);
document.write('<pre>' + JSON.stringify(myObject, 0, 2) + '</pre>');


您也可以将regexJSON.parseJSON.stringify一起使用

myObject = JSON.parse(JSON.stringify(myObject).replace(/:null/g, ':""'));

var myObject = {
  Fname: 'A',
  Mname: null,
  Lname: 'C',
  Email: 'AB@gmail.com',
  Address: null,
  Login: 'AB',
  Active: null
};
myObject = JSON.parse(JSON.stringify(myObject).replace(/:null/g, ':""'));
console.log(myObject);
document.write('<pre>' + JSON.stringify(myObject, 0, 2) + '</pre>');