仅对数组的一部分进行排序 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.