私はインタビューで私を困らせるホワイトボードタスクを持っていましたが、解決策を書いて、インタビュアーが述べていないに。二つの配列順序はarray1[0], array2[0], array1[1], array2[1]...
ていると合併しなければならない(expectedResult
を参照)などJavaScriptで2つの配列をマージしてその順序を保持する方法
const options = [[1, 12, 5], ["a", "b", "c", "d", "e"]]
const expectedResult = [1, "a", 12, "b", 5, "c", "d", "e"]
function mergeArrays(first, second) {
let returnArray = []
first.forEach((value, key) => {
returnArray.push(value)
if (second[key]) returnArray.push(second[key])
if (!first[key + 1] && second[key + 1]) {
returnArray.push(
...second.slice(key + 1, second.length)
)
}
})
return returnArray
}
const result = mergeArrays(options[0], options[1])
console.log(result.toString() === expectedResult.toString(), result)
'ループ' とは何を意味するのでしょうか?任意のタイプのループを使用できますか?何? – mattsven
私は上記のコードに似た何かを提案したので、配列に何千もの項目が含まれていて、foreach/whileなどを避けるべきであると暗示された場合、パフォーマンスについて質問されました – azz0r