Side navigation
#3641 closed bug (fixed)
Opened November 24, 2008 10:23AM UTC
Closed December 25, 2008 07:25PM UTC
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 |
Blocked by: | Blocking: |
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.
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.