Mở rộng chữ số thành giá trị vị trí trong JavaScript
Chúng ta cần viết một hàm mà, cho một số, ví dụ 123, sẽ xuất ra một mảng:
[100,20,3]
Về cơ bản, hàm này mong đợi trả về một mảng chứa giá trị vị trí của tất cả các chữ số hiện diện trong số được lấy làm đối số bởi hàm.
Chúng ta có thể giải quyết bài toán này bằng cách sử dụng phương pháp đệ quy.
Do đó, hãy viết mã cho hàm này:
Ví dụ
Mã thực hiện như sau:
const num = 123;
const placeValue = (num, res = [], factor = 1) => {
if(num){
const val = (num % 10) * factor;
res.unshift(val);
return placeValue(Math.floor(num / 10), res, factor * 10);
};
return res;
};
console.log(placeValue(num));
Đầu ra
Kết quả trong console sẽ là:
[ 100, 20, 3 ]