Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

เรียงลำดับเฉพาะส่วนของอาร์เรย์ใน 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' ]