אתגר: מציאת מכפלה
חלק מהיחידה יסודות במסלול ה-Dart של Coddy. שיעור 94 מתוך 94.
אתגר
קלבאתגר הזה תתרגלו מעבר בלולאה על רשימה כדי לאתר את הפריט הראשון שעונה על תנאי.
יש לכם רשימה של מוצרים בעגלת קניות, המיוצגים כמפות עם שם, מחיר וכמות. עליכם להשלים את הפונקציה findProduct, שמחפשת מוצר בעגלה לפי שם.
הפונקציה צריכה להחזיר את המוצר הראשון שתואם לשם הנתון, או null אם לא נמצאה התאמה.
השלימו את הקוד כדי לממש כראוי את פונקציונליות החיפוש הזו.
נסו בעצמכם
void main() {
// עגלת קניות עם מוצרים
List<Map<String, dynamic>> shoppingCart = [
{'name': 'Laptop', 'price': 999.99, 'quantity': 1},
{'name': 'Headphones', 'price': 59.99, 'quantity': 2},
{'name': 'Mouse', 'price': 24.99, 'quantity': 1},
{'name': 'Keyboard', 'price': 49.99, 'quantity': 1}
];
// בדקו את הפונקציה findProduct
Map<String, dynamic>? foundProduct = findProduct(shoppingCart, 'Headphones');
if (foundProduct != null) {
print('Found: ${foundProduct['name']} - \$${foundProduct['price']} (Quantity: ${foundProduct['quantity']})');
} else {
print('Product not found');
}
// בדקו עם מוצר שאינו קיים
foundProduct = findProduct(shoppingCart, 'Monitor');
if (foundProduct != null) {
print('Found: ${foundProduct['name']} - \$${foundProduct['price']} (Quantity: ${foundProduct['quantity']})');
} else {
print('Product not found');
}
}
// TODO: השלימו את הפונקציה הזו כך שתמצא מוצר לפי שם
Map<String, dynamic>? findProduct(List<Map<String, dynamic>> cart, String productName) {
// TODO: עברו על העגלה והחזירו את המוצר הראשון שתואם ל-productName
// TODO: החזירו null אם לא נמצא מוצר תואם
}כל השיעורים ביחידה יסודות
7עבודה עם מחרוזות
שרשור מחרוזותאינטרפולציה של מחרוזותמחרוזות מרובות שורותמאפייני מחרוזותשיטות בסיסיות למחרוזות10אוספים - יסודות המפות
מהן מפות?יצירת מפהגישה לערכים לפי מפתחזוגות מפתח-ערךקבלת גודל המפהקבלת המפתחותקבלת הערכיםבדיקה אם מפתח קיים2משתנים וטיפוסי נתונים בסיסיים
מהם משתנים?מחרוזותמספרים שלמים (int)מספרים מסוג double (double)ערכים בוליאניים (bool)הסקת טיפוס באמצעות 'var'משתנים סופייםמשתנים קבועיםמוסכמות למתן שמותבטיחות בסיסית מול nullסיכום – הכרזה על משתנים8זרימת בקרה – לולאות
לולאת 'for'לולאת 'while'לולאת 'do-while'שימוש ב-'break' בלולאותשימוש ב-'continue' בלולאותסיכום – חזרה על קוד3אופרטורים חלק 1
אופרטורים אריתמטייםחלוקת מספרים שלמיםאופרטור מודולוהגדלה והקטנהקיצורי השמהסיכום - חישובים פשוטים6זרימת בקרה - קבלת החלטות
הוראת 'if'הוראת 'else'הוראת 'else if'חזרה - החלטות פשוטותהוראות 'if' מקוננותהוראת 'switch'9אוספים - יסודות הרשימות
מהן רשימות?יצירת רשימהגישה לפי אינדקסקבלת אורך הרשימההוספת איבריםהסרת איבריםבדיקה אם הרשימה ריקהמעבר על רשימהתרגלו בעצמכם: קומפיילר Dart אונליין