เราต้องเขียนฟังก์ชัน arrayDistance() ที่รับอาร์เรย์ของตัวเลขและคืนค่าอาร์เรย์อีกตัวหนึ่งที่มีองค์ประกอบเป็นความต่างระหว่างสององค์ประกอบที่ติดกันจากอาร์เรย์ต้นฉบับ
ตัวเช่น ถ้าอาร์เรย์อินพุตคือ:
const arr = [1000, 2000, 5000, 4000, 300, 0, 1250];
ผลลัพธ์จะเป็น:
[(1000-2000), (2000-5000), (5000-4000), (4000-300), (300-0), (0-1250)]
มาเขียนโค้ดสำหรับฟังก์ชันนี้กัน:
ตัวอย่างโค้ด
const arr = [1000, 2000, 5000, 4000, 300, 0, 1250];
const arrayDistance = arr => {
return arr.reduce((acc, val, ind) => {
if (arr[ind + 1] !== undefined) {
return acc.concat(Math.abs(val - arr[ind + 1]));
} else {
return acc;
}
}, []);
};
console.log(arrayDistance(arr));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็นดังนี้:
[ 1000, 3000, 1000, 3700, 300, 1250 ]