You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将判断数组长度后执行push或赋值的代码改写为单行语句?

对应的单行实现方案

当然可以!你这段代码的逻辑完全可以用单行写法实现,这里给你两种贴合原逻辑的方案,还补充了一种常见的数组合并场景写法(怕你可能是想合并数组而非push单个元素):

1. 严格对应原逻辑的单行写法

原代码的逻辑是:若this.selectedUsersToAdd不为空数组,就把selectedUsersToAdd作为单个元素追加到末尾;否则直接将this.selectedUsersToAdd赋值为selectedUsersToAdd。用三元运算符结合展开语法可以写成:

this.selectedUsersToAdd = this.selectedUsersToAdd.length ? [...this.selectedUsersToAdd, selectedUsersToAdd] : selectedUsersToAdd;

或者用concat方法,效果一致:

this.selectedUsersToAdd = this.selectedUsersToAdd.length ? this.selectedUsersToAdd.concat(selectedUsersToAdd) : selectedUsersToAdd;

2. 补充:若selectedUsersToAdd是数组,想合并而非追加单个元素

如果你的selectedUsersToAdd本身是一个数组,原代码的push会把整个数组作为单个元素插入,这可能不是你想要的。如果是想合并两个数组,单行写法可以改成:

this.selectedUsersToAdd = this.selectedUsersToAdd.length ? [...this.selectedUsersToAdd, ...selectedUsersToAdd] : selectedUsersToAdd;

这里用了双重展开语法,把两个数组的元素都平铺到新数组里,再赋值给目标变量。

小提示:这几种写法都是创建新数组后赋值,和原代码中push修改原数组的效果在最终结果上是一致的,但如果有其他地方引用了原数组的话,需要注意引用关系的变化哦~

内容的提问来源于stack exchange,提问作者Aranganathan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:31:30