אתגר: מציאת מכפלה
חלק מהיחידה יסודות במסלול ה-Dart של Coddy. שיעור 94 מתוך 94.
אתגר
קלבאתגר הזה תתרגלו להשתמש בשיטה find עם רשימות כדי לאתר פריטים מסוימים לפי תנאים.
יש לכם רשימת מוצרים בעגלת קניות, המיוצגים כמפות עם שם, מחיר וכמות. המשימה שלכם היא להשלים את הפונקציה 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 אונליין