[英]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.