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

如何在JavaScript中实现两个数组的水平拼接?

实现二维数组与一维数组的水平拼接

刚好做过类似的操作,给你两种常用的实现方法,分别适用于纯Python列表和Numpy数组场景:

方法一:纯Python列表实现(无依赖库)

如果只是用原生Python列表处理,用列表推导式+zip配对就能轻松搞定,代码简洁高效:

a = [[1,2],[3,4], [5,6]]
b = [7,8,9]
# 遍历配对后的子数组和元素,逐个拼接
c = [sub_array + [b_element] for sub_array, b_element in zip(a, b)]
print(c)  # 输出:[[1,2,7], [3,4,8], [5,6,9]]

原理很简单:zip(a, b)会把a里的每个子数组和b中对应位置的元素一一配对,然后通过sub_array + [b_element]完成单个子数组的水平拼接,最后生成结果列表。

方法二:使用Numpy库实现(适合大规模数据处理)

如果是处理数值型数组且数据量较大,用Numpy会更高效,不过需要先把一维数组转换成列向量再进行水平拼接:

import numpy as np

a = np.array([[1,2],[3,4], [5,6]])
b = np.array([7,8,9])
# 将一维数组b转换为3行1列的二维列向量
b_col = b.reshape(-1, 1)
# 水平拼接两个二维数组
c = np.hstack((a, b_col))
print(c)
# 输出:
# [[1 2 7]
#  [3 4 8]
#  [5 6 9]]

这里要注意:Numpy的hstack要求输入的数组维度必须一致,所以必须先把一维的b转成二维列向量,reshape(-1,1)会自动根据元素数量计算行数,不用手动指定。

注意:无论用哪种方法,都要确保二维数组a的子数组数量和一维数组b的元素数量完全一致,否则会出现元素不匹配或报错的问题哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:10:32