สมมุติว่าเรามีอาร์เรย์ของตัวเลขแบบนี้ −
const arr = [-1,-2,-1,0,-1,-2,-1,-2,-1,0,1,0];
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่นับกลุ่มต่อเนื่องของตัวเลขที่ไม่เป็นลบ (บวกและ 0) ในอาร์เรย์
เช่นเดียวกับที่นี่ เรามี non-negatives ที่ต่อเนื่องกันจากดัชนี 3 ถึง 3 (เพียงองค์ประกอบเดียว แต่ยังคงเป็นคลัสเตอร์) ซึ่งสร้างกลุ่มเดียว จากนั้นจาก 9 ไปสิ้นสุดอาร์เรย์จะสร้างกลุ่มที่สอง
ดังนั้น สำหรับอาร์เรย์นี้ ฟังก์ชันควรคืนค่า 2
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const arr = [-1,-2,-1,0,-1,-2,-1,-2,-1,0,1,0]; const positiveClusters = arr => { return arr.reduce((acc, val, ind) => { if(val >= 0 && (arr[ind+1] < 0 || typeof arr[ind+1] === 'undefined')){ acc++; }; return acc; }, 0); }; console.log(positiveClusters(arr));
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ในคอนโซล -
2