Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

ผลคูณของตัวเลขอื่นทั้งหมดในอาร์เรย์ JavaScript


สมมติว่าเราต้องเขียนฟังก์ชันที่รับอาร์เรย์ตัวเลขเป็นอาร์กิวเมนต์ เราต้องคืนค่าอาร์เรย์ใหม่ที่มีผลคูณของแต่ละตัวเลข ยกเว้นดัชนีที่เรากำลังคำนวณผลคูณอยู่

ตัวอย่าง ถ้า arr มี 5 ดัชนี และเรากำลังสร้างค่าสำหรับดัชนี 1 ตัวเลขที่ดัชนี 0, 2, 3 และ 4 จะถูกคูณกัน เหมือนกัน ถ้าเราสร้างค่าสำหรับดัชนี 2 ตัวเลขที่ดัชนี 0, 1, 3 และ 4 จะถูกคูณกัน และไปเรื่อยๆ

หมายเหตุ − รับประกันว่าองค์ประกอบทั้งหมดภายในอาร์เรย์เป็น non-zero

เราจะ reduce อาร์เรย์เป็นผลคูณก่อน แล้ววนลูปผ่านอาร์เรย์หาค่าสำหรับดัชนีนั้น เราแค่หารผลคูณด้วยค่าเดิมที่ดัชนีนั้น

โค้ดสำหรับทำนี้จะเป็น −

ตัวอย่าง

const arr = [12, 10, 8, 6, 5, 2]; const produceArray = (arr) => {    const product = arr.reduce((acc, val) => acc*val);    return arr.map(el => {       return product/el;    }); }; console.log(produceArray(arr));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็นดังนี้

[ 4800, 5760, 7200, 9600, 11520, 28800 ]