Skip to content

Commit

Permalink
jquery core: closes #3541. Added isArray.
Browse files Browse the repository at this point in the history
  • Loading branch information
flesler committed Oct 29, 2008
1 parent 77cfd69 commit 325755d
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 6 deletions.
6 changes: 3 additions & 3 deletions src/ajax.js
Expand Up @@ -76,7 +76,7 @@ jQuery.fn.extend({
.map(function(i, elem){
var val = jQuery(this).val();
return val == null ? null :
val.constructor == Array ?
jQuery.isArray(val) ?
jQuery.map( val, function(val, i){
return {name: elem.name, value: val};
}) :
Expand Down Expand Up @@ -504,7 +504,7 @@ jQuery.extend({

// If an array was passed in, assume that it is an array
// of form elements
if ( a.constructor == Array || a.jquery )
if ( jQuery.isArray(a) || a.jquery )
// Serialize the form elements
jQuery.each( a, function(){
add( this.name, this.value );
Expand All @@ -515,7 +515,7 @@ jQuery.extend({
// Serialize the key/values
for ( var j in a )
// If the value is an array then the key names need to be repeated
if ( a[j] && a[j].constructor == Array )
if ( jQuery.isArray(a[j]) )
jQuery.each( a[j], function(){
add( j, this );
});
Expand Down
6 changes: 5 additions & 1 deletion src/core.js
Expand Up @@ -407,7 +407,7 @@ jQuery.fn = jQuery.prototype = {
if ( this.nodeType != 1 )
return;

if ( value.constructor == Array && /radio|checkbox/.test( this.type ) )
if ( jQuery.isArray(value) && /radio|checkbox/.test( this.type ) )
this.checked = (jQuery.inArray(this.value, value) >= 0 ||
jQuery.inArray(this.name, value) >= 0);

Expand Down Expand Up @@ -621,6 +621,10 @@ jQuery.extend({
isFunction: function( fn ) {
return !!fn && !!fn.hasOwnProperty && fn instanceof Function;
},

isArray: function( arr ){
return !!arr && arr.constructor == Array;
},

// check if an element is in a (or is an) XML document
isXMLDoc: function( elem ) {
Expand Down
4 changes: 2 additions & 2 deletions src/fx.js
Expand Up @@ -112,7 +112,7 @@ jQuery.fn.extend({
},

queue: function(type, fn){
if ( jQuery.isFunction(type) || ( type && type.constructor == Array )) {
if ( jQuery.isFunction(type) || jQuery.isArray(type) ) {
fn = type;
type = "fx";
}
Expand All @@ -121,7 +121,7 @@ jQuery.fn.extend({
return queue( this[0], type );

return this.each(function(){
if ( fn.constructor == Array )
if ( jQuery.isArray(fn) )
queue(this, type, fn);
else {
queue(this, type).push( fn );
Expand Down

0 comments on commit 325755d

Please sign in to comment.