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

กลุ่มสตริงที่ขึ้นต้นด้วยตัวเลขที่คล้ายกันใน JavaScript


สมมติว่าเรามีอาร์เรย์ของตัวเลขที่แสดงโดยสตริงเช่นนี้ −

const arr =["1.1","1.2","1.3","2.1","2.2","3.1","3.2","3.3","4.1","4.2"]; 

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

ดังนั้นผลลัพธ์ของฟังก์ชันของเราควรมีลักษณะดังนี้ −

คอนสต์เอาต์พุต =[["1.1","1.2","1.3"],["2.1","2.2"],["3.1","3.2","3.3"],["4.1", "4.2"]];

ตัวอย่าง

รหัสสำหรับสิ่งนี้จะเป็น −

const arr =["1.1","1.2","1.3","2.1","2.2","3.1","3.2","3.3","4.1","4.2"];กลุ่ม constSimilarStarters =arr => { ให้ res =[]; res =arr.reduce((acc, val, ind) => { const firstChar =el => { return (el || '').split('.')[0]; } if(firstChar(val) ===firstChar(arr[ind - 1])){ acc[acc.length - 1].push(val); }else{ acc.push([val]); }; ส่งคืน acc; }, []); return res;}console.log(groupSimilarStarters(arr));

ผลลัพธ์

เอาต์พุตในคอนโซล −

<ก่อนหน้า>[ [ '1.1', '1.2', '1.3' ], [ '2.1', '2.2' ], [ '3.1', '3.2', '3.3' ], [ '4.1', '4.2' ]]