Images are reused AI-generated editorial illustrations, not documentary photographs or verified product screenshots.
JavaScript array length is related to the highest numeric index, not a count of meaningful business records. Dense arrays make the distinction easy to overlook; sparse arrays and explicit length changes show why it matters.
Read length as an array property
For ['Draft', 'Approved'], length is 2. Array indexes begin at zero, so the last populated index in this dense example is 1. Do not treat length as a function or confuse it with the character length of one string element.

Check sparse slots and assigned indexes
Assigning an element at a distant index can increase length while leaving empty slots in between. Those holes are not the same as deliberately stored undefined values, and array methods can handle them differently. A length of ten does not prove that ten complete records exist.
Separate record counting from mutation
Count valid records using a rule that matches the application, such as a deliberate filter, rather than using truthiness without thought. Setting length to a smaller number removes elements beyond the new boundary. Read length for inspection; do not change it casually to correct a display count.
A practical checklist
- Use the length property, not a method call.
- Remember zero-based indexing.
- Inspect sparse slots when data seems missing.
- Define what counts as a valid record.
- Avoid accidental truncation through length assignment.
Worked example
Illustrative example: a synthetic array begins as ['A'], then receives a value at index 3. Its length becomes 4, but it does not contain four ordinary populated records. The application checks actual record validity instead of reporting four completed items.

Common questions
Is length always the number of valid records? No. Does assigning a smaller length merely change a label? No; it can delete elements. Are empty slots identical to an explicit undefined element? No; some method behavior differs.
What to do next
Use dense, validated collections when practical. Keep tests for sparse input and empty arrays if external data or indexing operations can produce them.
