Chúng tôi được yêu cầu viết một hàm JavaScript lấy một mảng các số nguyên làm đối số đầu tiên và duy nhất.
Hàm phải xây dựng và trả về một mảng mới chứa tất cả các phần tử như vậy từ mảng ban đầu mà người kế nhiệm và người tiền nhiệm đều có mặt trong mảng. If có nghĩa là, nếu bất kỳ phần tử nào num nằm trong mảng ban đầu, nó sẽ được đưa vào mảng kết quả nếu và chỉ khi num - 1 và num + 1 cũng có trong mảng.
Ví dụ -
Nếu mảng đầu vào là -
const arr = [4, 6, 8, 1, 9, 7, 5, 12];
Sau đó, kết quả đầu ra phải là -
const output = [ 6, 8, 7, 5 ];
Ví dụ
Mã cho điều này sẽ là -
const arr = [4, 6, 8, 1, 9, 7, 5, 12]; const pickMiddleElements = (arr = []) => { const res = []; for(let i = 0; i < arr.length; i++){ const num = arr[i]; const hasBefore = arr.includes(num - 1); const hasAfter = arr.includes(num + 1); if(hasBefore && hasAfter){ res.push(num); }; }; return res; }; console.log(pickMiddleElements(arr));
Đầu ra
Và đầu ra trong bảng điều khiển sẽ là -
[ 6, 8, 7, 5 ]