【发布时间】:2016-03-20 23:22:41
【问题描述】:
如何合并两个不同长度的数组,较短数组的值应优先于较大数组的值,但结果仍应具有较大数组的长度。请仔细看看我是如何排列下面的两个数组的:
var short = [[ 25,12], [576, 12], [576,584], [ 25,584], [ 25,12]];
var long = [[301,12],[400,192],[602,230],[461,380],[487,584],[301,497],[115,584],[140,380],[301,12]];
// --------------------as suggested by the above
var result = [[ 25,12],[400,192],[576, 12],[461,380],[576,584],[301,497],[ 25,584],[140,380],[ 25,12]];
在上面的示例中,long 的长度似乎是 short 的两倍,但即使它的大小是原来的三倍或只长一个元素,它也应该可以工作。
【问题讨论】:
-
似乎替换元素与数组长度的差异相关(较长的数组是两倍长,因此较短的数组每隔一个元素替换一次)。较长数组的长度是否总是较短数组长度的整数倍?
-
先用简单的英语定义逻辑,这样每个人(包括你自己)都更容易理解和解决
-
@RobG - 样本数据本身不符合您的整数倍数规则
-
@RobG:不,正如我所说,更长的数组可以是从 1 个元素到任何类型的乘法或加法。
-
@Amit-OP 没有说逻辑是什么,我只是猜测希望获得更多信息。没有这个,任何答案都是猜测。
标签: javascript arrays array-merge