【发布时间】:2020-07-14 05:08:55
【问题描述】:
我已经看到许多问题/答案主题通过交替值合并两个数组。他们是这样工作的:
let array1 = ["a", "b", "c", "d"];
let array2 = [1, 2];
let outcome = ["a",1 ,"b", 2, "c", "d"]
但我希望输出更高效,根据数组大小均匀分布值。
expected outcome = ["a","b", 1, "c", "d", 2]
其他场景
let array2 = [1];
expected outcome = ["a","b", 1, "c", "d"]
实现这种合并的最佳方式应该是什么?
【问题讨论】:
-
第一种情况和第二种情况不一致。为什么第一个以
2结尾而不是["a", 1, "b", 2, "c", "d"]之类的结尾 -
对于数组
[a, b, c, d, e, f]和[1, 2],是变成[a, b, c, 1, d, e, f, 2]还是[a, b, 1, c, d, 2, e, f]? -
@adiga 这就是问题所在。我希望值被均匀地合并。你说为什么不 ["a", 1, "b", 2, "c", "d"],因为值 1 和 2 立即与第一个数组一个接一个地合并,还有更多元素留在后面“光盘”。它应该根据两个数组大小之间的比例均匀放置。
-
第二条评论呢?会变成
[a, b, c, 1, d, e, f, 2]还是[a, b, 1, c, d, 2, e, f],为什么? -
@adiga 回答您的问题。对于数组 [a, b, c, d, e, f] 和 [1, 2],它是变成 [a, b, c, 1, d, e, f, 2] 还是 [a, b, 1 , c, d, 2, e, f]?我不介意结果 [a, b, c, 1, d, e, f, 2] 或 [a, b, 1, c, d, 2, e, f] 只要值是均匀放置的跨度>
标签: javascript arrays array-merge