JavaScript 如何根据条件在数组和对象中添加元素和属性


prtyaa
prtyaa 2023-12-26 17:56:24 65315
分类专栏: 资讯
  • 本文介绍如何根据条件在数组中增加元素以及在对象中增加属性。

    1 在数组中根据条件增加元素

    如下代码展示了如何根据布尔类型变量 cond 来动态插入元素 'a' 到数组 arr 里。

    const cond = false;
    const arr = [
      ...(cond ? ['a'] : []),
      'b',
    ];
    // ['b']
    

    这个技巧点在于扩展运算符 (...) 应用于数组时,如果应用于一个空数组时它什么都不做。

    > [...[], 'a']
    [ 'a' ]
    

    2 在对象中按条件增加属性

    同样可以把扩展运算符应用到对象上。再次使用布尔类型变量 cond 来决定是否为对象 obj 增加一个属性 a:

    const cond = false;
    const obj = {
      ...(cond ? {a: 1} : {}),
      b: 2,
    };
    // {b: 2}

    如果扩展运算符应用到一个没有可枚举属性的对象上,那么它什么都不做:

    > {...{}, a: 1}
    { a: 1 }

    3 其他方式

    上述代码使用了扩展运算符,它很方便,只需要一个表达式就可以创建数组或者对象,缺点是让代码不太好理解。

    另一种方式更好理解的方式是使用 push() 方法来构造数组:

    const arr = [];
    if (cond) {
        arr.push('a');
    }
    arr.push('b');

    这种方式容易理解,不过缺点是当数组元素很多时要重复这个步骤很多次,比较繁琐。

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=30953
赞同 0
评论 0 条