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

จะบังคับให้ JavaScript ทำคณิตศาสตร์แทนที่จะรวมสองสตริงเข้าด้วยกันได้อย่างไร


สมมติว่า เรามีอาร์เรย์ของสตริง โดยพื้นฐานแล้วมันคืออาร์เรย์ของสตริงตัวเลขแบบนี้ -

const arr =['3', '3', '55', '23', '67', '43', '12', '67', '87', '12']; 

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

มาเขียนโค้ดสำหรับฟังก์ชันนี้กัน −

ตัวอย่าง

const arr =['3', '3', '55', '23', '67', '43', '12', '67', '87', '12'];const sumString =arr => { const num =arr.reduce ((acc, val) => { ผลรวม const =acc + (+val || 0); ผลตอบแทนรวม; }, 0); return num;};console.log(sumString(arr));

โอเปอเรเตอร์ unary (+) ก่อนที่สตริงจะบังคับให้มีการบีบบังคับแบบชัดแจ้งจากประเภท String เป็น typeNumber หากอักขระตัวแรกของสตริงไม่ใช่ตัวเลขที่ถูกต้อง ระบบจะส่งคืน NaN มิฉะนั้นจะส่งคืนหมายเลขที่ถูกต้อง

ผลลัพธ์

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

372