如何将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
相关产品推荐
相关产品推荐

