Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.
            var all_local_cell = document.getElementsByClassName("input-localisation-cell");
            // Βρίσκω το μέγεθος του πίνακα

            for (var i = 0; i < all_local_cell.length; i++)
                                                      
            // Βρίσω το τελευταίο κελί του πίνακα
                                                      
                last_row_cell = all_local_cell.length-1;

                if (all_local_cell[last_row_cell].value == ""){
                alert();
               }
                                                      
                                                      

Πως θα βρώ το πρώτο κελί του πίνακα που είναι κενό;

π.χ.1.:

1. Hello

2.

3.

4.

Πρέπει να επιστρέψει 2.

 

π.χ.2.:

1. Hello

2. Hello

3. Hello

4.

Πρέπει να επιστρέψει 4.

 

π.χ.3.:

1. Hello

2. 

3. Hello

4.

Πρέπει να επιστρέψει 4.

Δημοσ.

καλησπερα φιλε

μπορεις να χρησιμοποιησης το indexOf() function

ενα παραδειγμα για εσενα:

const arr = ["l", "k", "g", "", "s", "α"
console.log(arr.indexOf(""))
 
επιστρεφει 3 οπως πρεπει.
 
μπορεις να τρεξεις τον κωδικα και εδω
  • Like 2
Δημοσ.

Δεν το δοκίμασα, αλλά λογικά το 1ο στοιχείο με την παραπάνω κλάση που είναι άδειο μπορείς να το πάρεις με:
 

var firstEmptyEl = document.querySelector('.input-localisation-cell:empty');

 

Δημοσ. (επεξεργασμένο)

Στο παράδειγμα 3 γιατί να επιστρέψει 4 ? αφού το 2 είναι το πρώτο κένο

Επίσης στο loop for μην βάζεις i<a.length.  Αν το length είναι πχ 100 θα το υπολογίσει 100 φορές χωρίς λόγο. Το σωστό είναι

let len = all_local_cell.length;
for (let i = 0; i < len; i++)

ή
                        
for (let i = 0, len = all_local_cell.length; i < len; i++)
Επεξ/σία από k33theod
Δημοσ.
Στις 18/12/2019 στις 10:56 ΜΜ, k33theod είπε

Στο παράδειγμα 3 γιατί να επιστρέψει 4 ? αφού το 2 είναι το πρώτο κένο

Επίσης στο loop for μην βάζεις i<a.length.  Αν το length είναι πχ 100 θα το υπολογίσει 100 φορές χωρίς λόγο. Το σωστό είναι


let len = all_local_cell.length;
for (let i = 0; i < len; i++)

ή
                        
for (let i = 0, len = all_local_cell.length; i < len; i++)

Φίλε μάλλον το διατύπωσα λάθος εγώ, στο παράδειγμα 3 πρέπει να επιστρέψει 4 γιατί πρέπει να γίνει ο έλεγγος απο το τέλος του πίνακα προς τα πάνω... Για αυτο βάζω i<a.length να βρώ το μέγεθος του πίνακα

Στις 18/12/2019 στις 9:01 ΜΜ, vadou είπε

Δεν το δοκίμασα, αλλά λογικά το 1ο στοιχείο με την παραπάνω κλάση που είναι άδειο μπορείς να το πάρεις με:
 


var firstEmptyEl = document.querySelector('.input-localisation-cell:empty');

Φίλε με αυτήν την εντολή απο ότι βλέπω στέλνει τιμή στο πρώτο κελί του πίνακα υπάρχουν δεν υπάρχουν τιμές στα άλλα κελιά τα αγνοεί και βάζει στο πρώτο κελί την τιμή

Δημοσ.
3 ώρες πριν, merchenary είπε

Φίλε μάλλον το διατύπωσα λάθος εγώ, στο παράδειγμα 3 πρέπει να επιστρέψει 4 γιατί πρέπει να γίνει ο έλεγγος απο το τέλος του πίνακα προς τα πάνω... Για αυτο βάζω i<a.length να βρώ το μέγεθος του πίνακα

 

Στο παράδειγμα 1 τότε γιατί 2 και όχι 4 😵. Το i<a.length δεν είναι σωστό να το χρησιμοποιείς μέσα στο loop στη δεύτερη θέση. Μπορείς να το βάλεις στην 1η ή εκτός loop όπως σου έδειξα στα παραδείγματα. 

  • Like 1
Δημοσ.
14 ώρες πριν, k33theod είπε

Στο παράδειγμα 1 τότε γιατί 2 και όχι 4 😵. Το i<a.length δεν είναι σωστό να το χρησιμοποιείς μέσα στο loop στη δεύτερη θέση. Μπορείς να το βάλεις στην 1η ή εκτός loop όπως σου έδειξα στα παραδείγματα. 

Επιστρέφει 2 γιατί αν ξεκινήσεις απο το τέλος του πίνακα πρέπει να σταματήσει κάτω απο την πρώτη τιμή που θα βρεί στην ουσία

Δημοσ.
3 ώρες πριν, merchenary είπε

Επιστρέφει 2 γιατί αν ξεκινήσεις απο το τέλος του πίνακα πρέπει να σταματήσει κάτω απο την πρώτη τιμή που θα βρεί στην ουσία

Τα ελληνικά μου έχουν γίνει χάλια και δεν καταλαβαίνω τίποτα.

Στο θέμα λες εύρεση τελευταίου κελιού χωρίς τιμή, στο κείμενο λες πως θα βρώ το πρώτο κελί του πίνακα που είναι κενό;  και το μόνο παράδειγμα που βγάζει νόημα είναι το 2 που έχει ένα μόνο κενό.😵

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...