Skip to main content

Bug Tracker

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:

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.

Attachments (0)
Change History (3)

Changed November 24, 2008 10:43AM UTC by victorbartel comment:1

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.

Changed November 25, 2008 11:27AM UTC by flesler comment:2

cc: → victorbartel
owner: → flesler
status: newassigned

Changed December 25, 2008 07:25PM UTC by flesler comment:3

resolution: → fixed
status: assignedclosed

Fixed at [5998].