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

如何将x值数组与y值数组合并为交错的x,y坐标位置数组?

核心实现逻辑

默认两个坐标数组长度一致(一一对应存储成对的x、y坐标),循环遍历索引位,每次依次将相同索引下的x坐标、y坐标放入结果数组即可。如果两个数组长度可能不一致,取两个数组的最小长度作为循环边界,避免索引越界。


常用语言实现示例

Python 实现

x_arr = [1, 3, 5, 7]
y_arr = [2, 4, 6, 8]
result = []

# 取最小长度兼容数组长度不一致的场景
loop_length = min(len(x_arr), len(y_arr))
for i in range(loop_length):
    result.append(x_arr[i])
    result.append(y_arr[i])

# 可选:如果需要追加长数组剩余的元素
if len(x_arr) > loop_length:
    result.extend(x_arr[loop_length:])
elif len(y_arr) > loop_length:
    result.extend(y_arr[loop_length:])

运行后result的值为[1, 2, 3, 4, 5, 6, 7, 8]。

JavaScript 实现

const xArr = [1, 3, 5, 7]
const yArr = [2, 4, 6, 8]
const result = []

const loopLength = Math.min(xArr.length, yArr.length)
for (let i = 0; i < loopLength; i++) {
    result.push(xArr[i])
    result.push(yArr[i])
}

// 可选:追加长数组剩余元素
if (xArr.length > loopLength) {
    result.push(...xArr.slice(loopLength))
} else if (yArr.length > loopLength) {
    result.push(...yArr.slice(loopLength))
}

Java 实现

public class CoordinateMerge {
    public static void main(String[] args) {
        int[] xArr = {1, 3, 5, 7};
        int[] yArr = {2, 4, 6, 8};
        int loopLength = Math.min(xArr.length, yArr.length);
        int[] result = new int[loopLength * 2];

        for (int i = 0; i < loopLength; i++) {
            result[i * 2] = xArr[i];
            result[i * 2 + 1] = yArr[i];
        }
    }
}

注意事项

  • 如果业务场景可以保证两个数组长度完全一致,可直接用任意一个数组的长度作为循环边界,省略取最小长度的逻辑
  • 如果有处理长度不一致的需求,按需开启示例中的追加剩余元素的逻辑即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 20:24:00