Vấn đề
Chúng ta cần viết một hàm JavaScript nhận vào một mảng số. Hàm phải xây dựng một mảng đầu ra dựa trên mảng đầu vào.
Với mỗi phần tử tương ứng, mảng đầu ra phải chứa số lượng số nhỏ hơn số đó ở bên phải nó. Cuối cùng, trả về mảng này.
Ví dụ
Dưới đây là mã:
const arr = [6, 2, 8, 5, 1, 3];
const buildSmallerArray = (arr = []) => {
let count;
let base;
const res = [];
for (let i = 0; i < arr.length; i++) {
base = arr[i];
count = 0;
for (let j = i + 1; j < arr.length; j++) {
if (arr[j] < base) count++;
};
res.push(count);
};
return res;
};
console.log(buildSmallerArray(arr));
Kết quả
[ 4, 1, 3, 2, 0, 0 ]