僅對陣列的一部分進行排序 JavaScript


我們需要編寫一個 JavaScript 函式,它將一個字串陣列作為第一個引數、兩個數字作為第二個和第三個引數。

我們函式的目的在於對陣列進行排序。但我們只能對陣列的部分進行排序,即第二個和第三個引數指定的起始和結束索引之間的部分。其他所有元素保持不變。

例如 −

const arr = ['z', 'b', 'a'];
sortBetween(arr, 0, 1);

此函式應僅對 0 和 1 索引位置的元素進行排序。陣列將變為 −

const output = ['b', 'z', 'a'];

範例

const arr = ['z', 'b', 'a'];
const sortBetween = (arr = [], start, end) => {
   const part = arr.splice(start, end - start + 1);
   part.sort();
   arr.splice(start, 0, ...part);
}
sortBetween(arr, 0, 1);
console.log(arr);

輸出

控制檯中的輸出為 −

[ 'b', 'z', 'a' ]

更新於: 2020 年 11 月 23 日

727 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.