簡體   English   中英

如何將 2 arrays 中的額外值添加到新數組的末尾

[英]How to add extra values from 2 arrays to end of new array

例如,如果我有 2 個 arrays 是: let array1 = [1,2,3]; let array2 = [5,6,7,8,9] ,我將如何創建一個新的第三個數組,該數組僅包含 array2 中位於額外索引處的元素(因此新數組將僅包含 [8,9]因為它們位於索引 3 和 4)。

謝謝!

您可以使用 Javascript slice() function

 arr1 = [1,2,3] arr2=[5,6,7,8,9] arr3 = arr2.slice(arr1.length, arr2.length) console.log(arr3)

您可以使用 function 找到更長的數組並為您切片。 這樣,您無需提前知道哪個數組更長:

 function collectExtra (arrayA, arrayB) { if (arrayA.length === arrayB.length) return []; const [shorter, longer] = [arrayA, arrayB].sort((a, b) => a.length - b.length); return longer.slice(shorter.length); } const array1 = [1,2,3]; const array2 = [5,6,7,8,9]; const result = collectExtra(array1, array2); console.log(result); // [8, 9] const result2 = collectExtra(array2, array1); console.log(result2); // [8, 9]

有很多方法可以做到這一點,這里有一個使用帶有負索引的slice方法的解決方案。 該負索引是(array2.length - array1.length) * -1

 const array1 = [1, 2, 3], array2 = [5, 6, 7, 8, 9], sliceArray = (a1, a2) => a2.length <= a1.length? []: a2.slice((a2.length - a1.length) * -1) console.log(sliceArray([], [])); // returns: [] console.log(sliceArray([1, 3, 6], [1, 2])); // returns: [] console.log(sliceArray(array1, array2)); // returns: [8, 9]

let array1 = [1,2,3,8,9];
let array2 = [5,6,7];
let array3=array1.length > array2.length ?array1.slice(array2.length,array1.length):array2.slice(array1.length,array2.length)
console.log(array3);

使用三元運算符和切片方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM