Das ist ein kurzes und etwas ungewöhnliches Thema, über das ich schreiben kann, aber während meiner Arbeit bin ich im Internet nicht oft darauf gestoßen, daher hier mein Beitrag. Ich würde gerne die Meinung anderer zu dieser Methode hören, da ich sie regelmäßig verwende. Ich schreibe nicht gerne mehrere Fälle in eine Switch-Anweisung, deshalb empfand ich die Verwendung eines Objekts als sauberere Alternative. Es ist vielleicht nicht schneller, aber der Code sieht für mich sauberer aus.
Ich möchte Bestellungen mit unterschiedlichen Zahlungsstatus bearbeiten und unterschiedliche Behandlungen anwenden, je nachdem, ob sie bezahlt sind oder nicht.
Beginnen wir damit:
const orders = [{ "id": 1, "product": "shoes", "paymentStatus": "Paid" },{ "id": 2, "product": "pants", "paymentStatus": "Pending" },{ "id": 3, "product": "tie", "paymentStatus": "UnPaid" }]; const handlePaymentStatus =(order) =>{ return order.paymentStatus } for (const order of orders) { handlePaymentStatus(order) }
Wir möchten eine spezifische Behandlung basierend auf dem order. paymentStatus anwenden. Eine einfache Lösung wäre die Verwendung einer switch-Anweisung wie dieser:
let orders = [{ "id": 1, "product": "shoes", "paymentStatus": "Paid" },{ "id": 2, "product": "pants", "paymentStatus": "Pending" },{ "id": 3, "product": "tie", "paymentStatus": "Unpaid" }]; const handlePaymentStatus =(order) =>{ switch (order.paymentStatus) { case 'Paid': console.log("it's all good"); break; case 'Unpaid': console.log("need to be paid"); break; default: console.log(`We'll wait`); } } for (const order of orders) { handlePaymentStatus(order) }
Es ist ein einfacher Fall, da wir zwei Optionen und eine Standardoption haben, aber stellen Sie sich das mit mehreren Zahlungsmethoden vor. Aus Gründen der Übersichtlichkeit belassen wir es so:
let orders = [{ "id": 1, "product": "shoes", "paymentStatus": "Paid" },{ "id": 3, "product": "tie", "paymentStatus": "Unpaid" },{ "id": 2, "product": "pants", "paymentStatus": "Pending" },]; const paymentStatusHandlers = { 'Paid': () => console.log("it's all good"), 'Unpaid': () => console.log("needs to be paid"), } for (const order of orders) { paymentStatusHandlers[order.paymentStatus] ? paymentStatusHandlers[order.paymentStatus]() : console.log("We'll wait") }
Die Verwendung eines Objekts anstelle einer Switch-Anweisung kann die Lesbarkeit und Wartbarkeit Ihres Codes verbessern, insbesondere wenn mehrere Fälle behandelt werden. Es ist eine Frage der persönlichen Präferenz, aber es lohnt sich, als alternativen Ansatz darüber nachzudenken.
Lassen Sie mich gerne wissen, wenn Sie weitere spezifische Änderungen oder Ergänzungen vornehmen möchten!
Das obige ist der detaillierte Inhalt vonVerbessern des JavaScript-Codes: Verwenden von Objekten anstelle von Switch-Anweisungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!