jquery中的伪数组和each和map静态方法区别,以及其他的一些静态方法

2023-10-31

伪数组:
1.必须要有length属性
2.如果这个length的属性值是0,那么这个对象有没有元素无所谓
3.如果这个length的属性值不为0,那么这个对象一定头下标为(length-1)的属性值
列如:
伪装组:
var obj = { length: 0 }
var obj = { length: 4, 3: ‘a’ }; 没有0,1,2可以认为0,1,2存的是undefined
var obj = { length: 2, 0: ‘a’, 1: ‘b’ };
不是伪数组:
var obj = { length: 10, 0: ‘a’, 1: ‘b’, 2: ‘c’, 3: ‘d’, 4: ‘e’, 5: ‘f’ };因为没有下标为(length-1)的属性值
forEach:
原生js中的forEach只能遍历数组,不能遍历伪数组
格式:调用者.forEach(function(value,index,arry){});
forEach的参数是一个回调函数,回调函数的第一个参数为遍历到的元素值,第二个参数为当前遍历的索引,第3个参数为数组(可有可无) 代码如下示范:
arry.forEach(function( value,index){
alert(value);
});`
jquery中静态遍历数组的格式为:
$``.each(需要遍历的数组名,function(index,value){});
each()中第一参数为要遍历的数组,第二个参数为每次遍历之后要执行的回调函数,回调函数的参数第一个为当前便遍历的索引,第二个为遍历到的元素值
该静态方法既可以遍历数组又可以遍历伪数组
如下示范:

			//遍历数组
			$.each(obj,function( index,value){
				console.log(index,value);
			$.each(arry,function( index,value){
					console.log(index,value);
					
			})

var arry=[9,8,5,4,2,25];
var obj={0:1,1:3,2:5,3:7,4:9,length:5};//伪数组
map:
原生的map方法和原生的forEach方法一模一样
jquery中的map静态方法:
格式:
jquery中静态遍历数组的格式为:
$.map(需要遍历的数组名,function(value,index){});
利用jquery的静态方法map遍历数组
第一个参数:要遍历的数组
第二个参数:每遍历一个元素之后执行的回调函数
回调函数的参数:
第一个参数:当前遍历到的元素
第二个参数:遍历到的索引
注意点:和jquery的each的静态方法一样,map静态方法也可以遍历伪数组

jquery中的each静态方法和map静态方的区别:
1.each静态方法默认的返回值就是,遍历谁就返回谁,map静态方法默认的返回值是一个空数组
2,each静态方法不支持在回调函数中对遍历的数组进行处理,map静态方法可以在回调函数中通过return对数组进行处理,然后返回一个新的数组

var res1=$.map(obj,function(value,index){
				console.log(index,value);
				return value+index;
			});
			var res2=$.each(obj,function( index,value){
				console.log(index,value);
				return value+index;
				});

$.trm():
作用:去除字符串两端的空格
参数:需要去除空格的字符串
返回值:去除空格之后的字符串
$.isWindow();
作用:判断传入的对象是否是window对象
返回值:true/false
$.isArray();
作用:判断传入的对象是否是真数组
返回值:true/false
$.isFunction();
作用:判断传入的对象是否是一个函数
返回值:true/false
注意点:jquery框架本质是一个函数

/* 
			 $.trm():
			 作用:去除字符串两端的空格
			 参数:需要去除空格的字符串
			 返回值:去除空格之后的字符串
			 */
			// var str="    ing   ";
			// var res=$.trim(str);
			// console.log("---"+str+"---“);
			// console.log("---"+res+"---“);
			//真数组
			var arr=[0,77,5,0,6,3];
			//伪数组
			var arrlike={0:1,1:3,2:5,3:7,4:9,length:5};
			//对象
			var obj={name:"垃圾",age:"89"};
			//函数
			var fn=function(){};
			//window对象
			var w=window;
			/* 
			 $.isWindow();
			 作用:判断传入的对象是否是window对象
			 返回值:true/false
			 */
			// var res=$.isWindow(w);
			// console.log(res);
			/* 
			$.isArray();
			作用:判断传入的对象是否是真数组
			返回值:true/false
			 */
			// var res=$.isArray(arr);
			// console.log(res);
			/*
			$.isFunction();
			作用:判断传入的对象是否是一个函数
			返回值:true/false
			注意点:jquery框架本质是一个函数
			
			 */
			var res=$.isFunction(jQuery);
			console.log(res);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jquery中的伪数组和each和map静态方法区别,以及其他的一些静态方法 的相关文章