Kiểm tra tính liên tục của hai mảng trong JavaScript
Chúng ta cần viết một hàm JavaScript nhận vào hai mảng số. Và hàm nên trả về true nếu hai mảng sau khi gộp và xáo trộn có thể tạo thành một dãy liên tiếp, ngược lại false.
Ví dụ: Nếu các mảng là:
const arr1 = [4, 6, 2, 9, 3]; const arr2 = [1, 5, 8, 7];
Thì kết quả đầu ra nên là true.
Do đó, hãy viết mã cho hàm này:
Ví dụ
Mã thực hiện như sau:
const arr1 = [4, 6, 2, 9, 3];
const arr2 = [1, 5, 8, 7];
const canFormSequence = (arr1, arr2) => {
const combined = [...arr1, ...arr2];
if(combined.length < 2){
return true;
};
combined.sort((a, b) => a-b);
const commonDifference = combined[0] - combined[1];
for(let i = 1; i < combined.length-1; i++){
if(combined[i] - combined[i+1] === commonDifference){
continue;
};
return false;
};
return true;
};
console.log(canFormSequence(arr1, arr2));
Đầu ra
Kết quả trong console sẽ là:
true