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

Trả về số trùng lặp đầu tiên từ mảng trong JavaScript

Viết hàm trả về chỉ số của phần tử đầu tiên xuất hiện ít nhất 2 lần. Nếu không có trả về -1. Yêu cầu: không gian hằng số (không dùng bộ nhớ thêm).

Sử dụng vòng lặp for và Array.prototype.lastIndexOf():

Ví dụ

const firstDuplicate = arr => {  for (let i = 0; i < arr.length; i++) {    if (arr.lastIndexOf(arr[i]) !== i) {      return i;    }  }  return -1;};console.log(firstDuplicate([3, 5, 6, 8, 5, 3])); // 0console.log(firstDuplicate([0, 1, 2, 3, 4, 4, 5])); // 4console.log(firstDuplicate([0, 1, 1, 2, 3, 4, 4, 5])); // 1console.log(firstDuplicate([0, 1, 2, 3, 4, 9, 5])); // -1

Kết quả

Đầu ra trong console sẽ là:

0 4 1 -1