#4227 closed bug (worksforme)
$.extend erratic behavior with objects that have a length property
Reported by: | dmethvin | Owned by: | |
---|---|---|---|
Priority: | low | Milestone: | 1.4 |
Component: | core | Version: | 1.3.2 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
From the jQuery Google Group: http://groups.google.com/group/jquery-en/browse_frm/thread/31e97b11082d2633#
Hello,
It seems that it's not safe to use "length" as a nested object property if I want to use jquery.extend. Is this a know issue?
$.extend(true, {},{"prop":{"length":"-1"}});
thanks,
-Morgan
Attachments (1)
Change History (5)
Changed 14 years ago by
Attachment: | extend_object_with_length.patch added |
---|
comment:1 Changed 14 years ago by
That would only handle true Array
objects. I think the goal may have been to have $.extend
be able to take array-like objects and treat them like Array, e.g., Function.arguments and DOM nodeList. It's worth thinking about so I'll leave the ticket open for further discussion.
comment:2 Changed 14 years ago by
"Array-like" objects can still be handled and should work as before. Where is the value in making a "true" Array out of an object that wasn't an array to begin with?
comment:3 Changed 12 years ago by
Resolution: | → worksforme |
---|---|
Status: | new → closed |
Additional testing:
http://jsfiddle.net/rwaldron/nqnBr/2/
I don't think there is any misbehaviour here. I'm closing, if the author wants to reopen, then we can do so with valid reason.
comment:4 Changed 12 years ago by
Priority: | minor → low |
---|
Fix and testcase. Use jQuery.isArray() istead of checking for a length property.