Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

มีส่วนร่วมจากอาร์เรย์ของตัวเลขตามเปอร์เซ็นต์ JavaScript


เรามีอาร์เรย์ของ Number literals แบบนี้ -

จำนวน const =[10,6200,20,20,350,900,26,78,888,10000,78,15000,200,1280,2000,450];

เราควรเขียนฟังก์ชันที่ใช้อาร์เรย์ของตัวเลขและตัวเลขระหว่าง [0,100] โดยพื้นฐานแล้วตัวเลขนี้แสดงถึงเปอร์เซ็นต์ที่แน่นอน ให้เราแทนตัวเลขนี้ด้วย x ก่อน

ตอนนี้ เราต้องคืนค่าอาร์เรย์ย่อยขององค์ประกอบ n ตัวแรกของอาร์เรย์ดั้งเดิมที่รวมกันได้เท่ากับหรือน้อยกว่า x % ของผลรวมทั้งหมดขององค์ประกอบอาร์เรย์ทั้งหมด

ยกตัวอย่างง่ายๆ −

const numbers =[12, 10, 6, 8, 4, 2, 8];

สำหรับผลรวมของอาร์เรย์นี้คือ 50 และตอนนี้หากเราระบุ 25 เป็นอาร์กิวเมนต์ที่สอง (ค่าสำหรับ x) เราก็จะต้องคืนค่า n องค์ประกอบแรกที่รวมกันได้เท่ากับหรือน้อยกว่า 25% ของ 50 ซึ่งจริงๆ แล้ว 12.5.

ดังนั้น ในกรณีนี้ ควรส่งคืนอาร์เรย์ที่มีเพียงองค์ประกอบแรกเท่านั้น เนื่องจากการเพิ่มองค์ประกอบที่สอง (10) ถึง 12 จะเกินค่าเกณฑ์ (12.5)

มาเขียนโค้ดสำหรับสิ่งนี้กัน ในตอนแรก เราเพียงแค่ลดอาร์เรย์ให้เหลือผลรวม จากนั้นใน for loop เราสร้างอาร์เรย์ที่ตรงกับเกณฑ์ที่กล่าวถึงข้างต้น -

ตัวอย่าง

const numbers =[10,6200,20,20,350,900,26,78,888,10000,78,15000,200,1280,2000,450];const findPercent =(arr, เปอร์เซ็นต์) => { ผลรวม const =arr. ลด ((acc, val) => acc+val); ส่วน const =[]; ให้ curr =0; สำหรับ(ให้ i =0; i  

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็น -

<ก่อนหน้า>[ 10, 6200, 20, 20, 350, 900, 26, 78, 888][ 10 ][ 10, 6200, 20, 20, 350, 900, 26, 78, 888, 10000, 78][ 10 , 6200, 20, 20, 350, 900, 26, 78, 888, 10000, 78, 15000, 200, 1280]