Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Lấy phần tử nhỏ thứ hai từ mảng không sắp xếp JavaScript

Cho mảng số, viết hàm trả về giá trị nhỏ thứ hai mà không sắp xếp mảng.

Ví dụ: [67, 87, 56, 8, 56, 78, 54, 67, 98, 56, 54] → 54 (nhỏ nhất sau 8).

Cách: tìm chỉ số nhỏ nhất, xóa nó, tìm nhỏ nhất của mảng còn lại.

Ví dụ

const arr = [67, 87, 56, 8, 56, 78, 54, 67, 98, 56, 54];const minimumIndex = arr => arr.indexOf(Math.min(...arr));const secondMinimum = arr => {  const copy = arr.slice();  copy.splice(minimumIndex(copy), 1);  return copy[minimumIndex(copy)];};console.log(secondMinimum(arr));

Kết quả

Đầu ra trong console sẽ là:

54