Modify ↓
Ticket #3641 (closed bug: fixed)
Merge function does not work correctly with 0/false values with same indexes.
| Reported by: | victorbartel | Owned by: | flesler |
|---|---|---|---|
| Priority: | major | Milestone: | 1.3 |
| Component: | core | Version: | 1.2.6 |
| Keywords: | merge | Cc: | victorbartel |
| Blocking: | Blocked by: |
Description
Premature merge process finalization is occurred when 0/false values is situated in same positions in both arrays. For example $.merge([1,2,3],[4,5]) will work correctly and return [1,2,3,4,5] but $.merge([0,1,3],[0,2,4]) will return only [0,1,3]. This bug is caused by following comparison during while loop : while ( elem = second[ i++ ] ), when element is equal to 0/false and second[i++] has same value, interpreter will exit from loop. Solution modify loop properly.
Change History
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.
Note: See
TracTickets for help on using
tickets.

Sorry, It is more deep that I've described above. This problem is not related to the same position of element in both arrays. It occurs when one of elements from second array is equals to 0/false. while ( elem = 0 ), elem is false, loop is stopped. Same solution - modify loop properly.