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

如何在JavaScript中将可为数组或单个对象的值转为数组

解答

JavaScript没有专门的内置函数直接实现「将单个值或数组统一转为数组」的需求,不过你可以用两种方式高效实现复用:

1. 封装通用工具函数

这是最直观、可读性最高的方式,适合多次复用:

const ensureArray = (value) => Array.isArray(value) ? value : [value];

在你的函数里直接调用:

const foo = (x : Array<string> | string) => {
  const y = ensureArray(x);
  // 后续逻辑使用y即可
};

2. 利用Array.concat的特性简化代码

Array.prototype.concat有个特性:如果传入的是数组,会将数组元素合并到新数组;如果传入的是非数组值,会直接把该值作为元素加入数组。可以用一行代码实现:

const y = [].concat(x);

比如:

  • 当x是字符串"hello"时,结果是["hello"]
  • 当x是数组["a", "b"]时,结果是["a", "b"]

不过这种方式的可读性不如封装函数,如果你需要在多处使用,还是封装工具函数更便于维护。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 01:02:02