เราจำเป็นต้องเขียนฟังก์ชันที่คืนค่า จริง หากเราสามารถแบ่งอาร์เรย์เป็นองค์ประกอบเดียวและส่วนที่เหลือ ให้องค์ประกอบนี้เท่ากับผลคูณขององค์ประกอบอื่นทั้งหมดยกเว้นตัวเอง มิฉะนั้นจะเป็นเท็จ
ตัวอย่างเช่น หากอาร์เรย์เป็น −
const arr = [1, 56, 2, 4, 7];
จากนั้นผลลัพธ์ควรเป็นจริง
เพราะ 56 เท่ากับ −
2 * 4 * 7 * 1
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const arr = [1, 56, 2, 4, 7]; const isEqualPartition = arr => { const creds = arr.reduce((acc, val) => { let { prod, max } = acc; if(val > max || !max){ prod *= (max || 1); max = val; }else{ prod *= val; } return { prod, max }; }, { prod: 1, max: null }); return creds.max === creds.prod; }; console.log(isEqualPartition(arr));
ผลลัพธ์
ต่อไปนี้เป็นผลลัพธ์ในคอนโซล -
true