Kyrki Δημοσ. 17 Νοεμβρίου 2018 Δημοσ. 17 Νοεμβρίου 2018 (επεξεργασμένο) Καλησπέρα, έχω δημιουργήσει ενα πίνακα στη java script με αρνητίκες και θετικές τιμές και θέλω να προθέσω μονο τσ θέτικες τιμες του πίνακα αλλα έχει πάει τελείως λαθος, Γνωρίζω οτι το θέμα βρίσκεται στην for αλλά δεν μπορώ να το διορθώσω καμία ιδεα? <!DPCTYPE HTML> <html lang="en"> <head> <meta charset="UTF-8"> <title>page 1</title> </head> <body> <h2>Sum and Multi</h2> <script> var array=[5,17,-38,9,-6,22,-90,14,26,-12]; var sum=0; for (i=0;i>=0;i++){ sum=sum+array; } document.write("Tο άθροισμα των θετικών αριθμών είναι"+sum+"<br>"); </script> Επεξ/σία 17 Νοεμβρίου 2018 από Kyrki
Predatorkill Δημοσ. 17 Νοεμβρίου 2018 Δημοσ. 17 Νοεμβρίου 2018 (επεξεργασμένο) https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce και κανε προσθεση μονο οσες τιμες ειναι > 0 περαν αυτου, το πας συντακτικα λαθος με την for. Θα μπορουσες να το κανεις με array.forEach αλλα ο απο πανω τροπος ειναι ο σωστος. Επεξ/σία 17 Νοεμβρίου 2018 από Predatorkill
defacer Δημοσ. 17 Νοεμβρίου 2018 Δημοσ. 17 Νοεμβρίου 2018 Έχεις λάθος τη συνθήκη τερματισμού του for. Έχεις λάθος την πρόσθεση. Και τέλος, λες ότι θέλεις να προσθέσεις μόνο τα θετικά αλλά δεν υπάρχει απολύτως τίποτα στον κώδικα που να κάνει τέτοιο πράγμα. Πιθανόν νομίζεις ότι το κάνεις αυτό το πράγμα στη συνθήκη της for? Δεν ξέρω. Πάντως το σίγουρο είναι ότι πρέπει να ξαναδιαβάσεις ξεκινώντας από τα πολύ βασικά, πώς γράφουμε μια for.
Predatorkill Δημοσ. 17 Νοεμβρίου 2018 Δημοσ. 17 Νοεμβρίου 2018 for(i=0; i<array.length;i++) { if(array[i] > 0) { sum += array[i] } }
ajaxmonkey4hire Δημοσ. 19 Νοεμβρίου 2018 Δημοσ. 19 Νοεμβρίου 2018 και γιατί δεν χρησιμοποιείς array.reduce; http://104.236.83.163/array_reduce.html <!DOCTYPE HTML> <html lang="en"> <head> <meta charset="UTF-8"> <title>Array Reduce</title> </head> <body> <h2>Sum and Multi</h2> <script> var array = [5,17,-38,9,-6,22,-90,14,26,-12]; document.write(array.reduce((acc, val)=>{return val>0?acc+val:acc})); </script> </body> </html> 1
Kyrki Δημοσ. 25 Νοεμβρίου 2018 Μέλος Δημοσ. 25 Νοεμβρίου 2018 Ευχαριστώ για τις απαντήσεις ! Αυτό που έκανα εν τέλη είναι να διαχώρισω θετίκα και αρνητικά δεξία και αριστερά και εδω στην for το length του πίνακα, από το κελί 0 εως το κελί που τελειωνουν οι θετικοί! Το αποτέλεσμα βγηκε! Στις 19/11/2018 στις 6:08 ΜΜ, ajaxmonkey4hire είπε και γιατί δεν χρησιμοποιείς array.reduce; http://104.236.83.163/array_reduce.html <!DOCTYPE HTML> <html lang="en"> <head> <meta charset="UTF-8"> <title>Array Reduce</title> </head> <body> <h2>Sum and Multi</h2> <script> var array = [5,17,-38,9,-6,22,-90,14,26,-12]; document.write(array.reduce((acc, val)=>{return val>0?acc+val:acc})); </script> </body> </html> Το array reduce πως ακριβώς χρησιμοπηείται? Εννοώ ποια ειναι η ιδιοτητα του?
ajaxmonkey4hire Δημοσ. 25 Νοεμβρίου 2018 Δημοσ. 25 Νοεμβρίου 2018 (επεξεργασμένο) Το array reduce συμπυκνώνει ένα array σε μια τιμή. Κάνει δηλαδή ακριβώς αυτό που θέλεις. Η function που του δίνεις του λέει με ποιον τρόπο να κάνει την συμπύκνωση. Μετά απλά εκτελεί την function για κάθε array element με παραμέτρους το προσωρινό αποτέλεσμα (acc) και την επόμενη τιμή (val). Το τελικό αποτέλεσμα επιστρέφεται με το return value. Επεξ/σία 25 Νοεμβρίου 2018 από ajaxmonkey4hire
Predatorkill Δημοσ. 25 Νοεμβρίου 2018 Δημοσ. 25 Νοεμβρίου 2018 5 ώρες πριν, Kyrki είπε Ευχαριστώ για τις απαντήσεις ! Αυτό που έκανα εν τέλη είναι να διαχώρισω θετίκα και αρνητικά δεξία και αριστερά και εδω στην for το length του πίνακα, από το κελί 0 εως το κελί που τελειωνουν οι θετικοί! Το αποτέλεσμα βγηκε! Το array reduce πως ακριβώς χρησιμοπηείται? Εννοώ ποια ειναι η ιδιοτητα του? Δυο λινκ σου δωσαμε, rtfm, μην τα περιμενεις ολα στο πιατο. Σου δωσαμε 2 διαφορετικες και σωστες λυσεις αλλα προτιμησες να πας μεσω Λαμιας για να παρεις αυτο που θες. Whatever 1
ajaxmonkey4hire Δημοσ. 25 Νοεμβρίου 2018 Δημοσ. 25 Νοεμβρίου 2018 6 ώρες πριν, Kyrki είπε Ευχαριστώ για τις απαντήσεις ! Αυτό που έκανα εν τέλη είναι να διαχώρισω θετίκα και αρνητικά δεξία και αριστερά και εδω στην for το length του πίνακα, από το κελί 0 εως το κελί που τελειωνουν οι θετικοί! Το αποτέλεσμα βγηκε! Αν μαθαίνεις προγραμματισμό για hobby το κάνεις όπως γουστάρεις αν όμως σκοπεύεις να ασχοληθείς επαγγελματικά με τον προγραμματισμό αυτή η λύση είναι (no offense) απαράδεκτη! Έφτιαξες μια loop για να αναδιοργανώσεις το array βάση του πρόσημου των τιμών και μετά άλλο ένα loop για να προσθέσεις τις τιμές στο αριστερό μέρος του καινούργιου array. Γιατί; Τι θα έκανες αν είχες ένα array με 10 εκατομμύρια οbjects καθένα από αυτά με ύψος, βάρος, ηλικία ενός ατόμου και το ζητούμενο ήταν να βρεις τα max, min και avg για το ύψος, βάρος, bmi και την ηλικία από όλα τα στοιχεία; Το array.reduce υπάρχει για τέτοιες περιπτώσεις αρκεί να διαβάσεις την docu.
Kyrki Δημοσ. 26 Νοεμβρίου 2018 Μέλος Δημοσ. 26 Νοεμβρίου 2018 20 ώρες πριν, ajaxmonkey4hire είπε Αν μαθαίνεις προγραμματισμό για hobby το κάνεις όπως γουστάρεις αν όμως σκοπεύεις να ασχοληθείς επαγγελματικά με τον προγραμματισμό αυτή η λύση είναι (no offense) απαράδεκτη! Έφτιαξες μια loop για να αναδιοργανώσεις το array βάση του πρόσημου των τιμών και μετά άλλο ένα loop για να προσθέσεις τις τιμές στο αριστερό μέρος του καινούργιου array. Γιατί; Τι θα έκανες αν είχες ένα array με 10 εκατομμύρια οbjects καθένα από αυτά με ύψος, βάρος, ηλικία ενός ατόμου και το ζητούμενο ήταν να βρεις τα max, min και avg για το ύψος, βάρος, bmi και την ηλικία από όλα τα στοιχεία; Το array.reduce υπάρχει για τέτοιες περιπτώσεις αρκεί να διαβάσεις την docu. Δε διαφωνω καθολου, απλα ειναι ασκηση απο τη σχολη και το ηθελαν ετσι! 22 ώρες πριν, Predatorkill είπε Δυο λινκ σου δωσαμε, rtfm, μην τα περιμενεις ολα στο πιατο. Σου δωσαμε 2 διαφορετικες και σωστες λυσεις αλλα προτιμησες να πας μεσω Λαμιας για να παρεις αυτο που θες. Whatever Οπως ειπα παρακατω τ θελαν ετσι απο τη σχολη! εχω κανα μηνα που ασχολουμαι οποτε δικαιολογουμε πιστευω!
Predatorkill Δημοσ. 26 Νοεμβρίου 2018 Δημοσ. 26 Νοεμβρίου 2018 (επεξεργασμένο) 11 λεπτά πριν, Kyrki είπε εχω κανα μηνα που ασχολουμαι οποτε δικαιολογουμε πιστευω! Δικαιολογεισαι να μην καταλαβαινεις ακομα καποια πραγματα, συγκεκριμενα ομως για την javascript το documentation ειναι πολυ καλο με πολλα παραδειγματα, αυτο που ειχες να κανεις ειναι να πας στο section arrays, να πατησεις ολα τα λινκς μεχρι να βρεις αυτο που κανει τη δουλεια. Επιβαλεται να μαθεις να χρησιμοποεις τα docs, ειτε ειναι library/module/framework/ js syntax Επεξ/σία 26 Νοεμβρίου 2018 από Predatorkill
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα