javascript - 如何在javascript中合并两个可选数组

标签 javascript arrays typescript

现在你会如何在 Javascript 中合并两个可选数组?这是迄今为止我得到的最好的:

const trades = this.position.trades; // trades or maintenance can be undefined
const maintenance = this.position.maintenance;
const principals = [... trades ? trades : [], ... maintenance ? maintenance : []];

寻找优雅的解决方案,同时处理任一数组可能未定义(也称为可选)的事实。谢谢!

PS:我使用的是 Typescript 2.6/ES6

最佳答案

你可以做这样的事情。 || 如果第一个操作数为 falsy,则返回 []

const trades = this.position.trades || []; 
const maintenance = this.position.maintenance || [];
const principals = [...trades, ...maintenance];

或者不用 spread 运算符,只需使用 Array#concat

const trades = this.position.trades || []; 
const maintenance = this.position.maintenance || [];
const principals = trades.concat(maintenance);

关于javascript - 如何在javascript中合并两个可选数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47659562/

相关文章:

c - 从数组中打印宏

C++如何从成员函数访问变量?

javascript - WebCryptoAPI 是否在浏览器或远程服务器上运行

javascript - JavaScript/TypeScript 中带有字符串的连续分配数组

javascript - JQuery 插件子方法

java - 从 Java 调用 JavaScript 方法

javascript - Angular(和 lodash)检查除当前索引之外的任何项目是否具有 value = true

javascript - jQuery .not 方法没有按预期工作

javascript - 无限滚动-圆柱页面(css/js)

javascript - 如何在 javascript 对象中查找键名称的长度而不是内容的长度