📜  如何使用 JavaScript 有条件地将成员添加到对象?

📅  最后修改于: 2022-05-13 01:56:55.464000             🧑  作者: Mango

如何使用 JavaScript 有条件地将成员添加到对象?

对象是最重要的数据类型,是现代 JavaScript 的构建块。它们与 String、Number、Boolean、null 等原始数据类型不同。但是我们可以使用new关键字将这些数据类型作为对象。有两种方法可以有条件地将成员添加到对象。

方法 1:此方法涉及检查所需条件是否为真,并基于属性添加到对象。

示例:在此示例中,如果条件为真,则“b”将作为成员添加到“a”,否则不添加。

Javascript
// Define the object
var a = {};
  
// Check if the condition
// is satisfied
if (someCondition) {
      
    // Add the required 
    // property to the object 
    a.b = 7;
}


Javascript
var a = {
    // Use the ternary operator to check
    // if the property should be added
    // to the object
    b: (someCondition? 7 : undefined)
};


Javascript
var newObject = $.extend({}, {
  a: conditionA ? 7 : undefined,
  b: conditionB ? 9 : undefined,
    
  // More properties as required
});


输出:

  • 满足条件时:

    {b: 7}
  • 不满足条件时:

    {}

这种方法也可以以惯用的方式使用,使用三元运算符。

示例:在此示例中,如果条件为真,则“b”将作为成员添加到“a”,否则不添加。

Javascript

var a = {
    // Use the ternary operator to check
    // if the property should be added
    // to the object
    b: (someCondition? 7 : undefined)
};

输出:

  • 满足条件时:

    {b: 7}
  • 不满足条件时:

    {b: undefined}

方法二:该方法用于向一个对象添加多个成员。 jQuery 库函数$.extend()用于此方法。但是,这不会将未定义的属性复制到对象。

例子:

Javascript

var newObject = $.extend({}, {
  a: conditionA ? 7 : undefined,
  b: conditionB ? 9 : undefined,
    
  // More properties as required
});

输出:

  • 当满足第一个条件时:

    {a: 7}
  • 当两个条件都满足时:

    {a: 7, b: 9}