Viết hàm tính tổng giá trị tuyệt đối của tất cả phần tử trong mảng (không dùng hàm thư viện như Math.abs).
Ví dụ
Mảng: [1, -5, -34, -5, 2, 5, 6]
Tổng = 1 + 5 + 34 + 5 + 2 + 5 + 6 = 58
Giải pháp
Mã triển khai:
const arr = [1, -5, -34, -5, 2, 5, 6];
const absoluteSum = arr => {
let res = 0;
for (let i = 0; i < arr.length; i++) {
if (arr[i] < 0) {
res += arr[i] * -1; // Nghịch đảo số âm
} else {
res += arr[i];
}
}
return res;
};
console.log(absoluteSum(arr));
Kết quả
Đầu ra trong console:
58
Lưu ý: Yêu cầu không dùng Math.abs. Thực tế nên dùng arr.reduce((sum, v) => sum + Math.abs(v), 0).