dojo 数组(Array)

本文介绍了Dojo提供的数组处理方法,如every、some、indexOf等,这些方法在浏览器兼容性和执行效率方面表现优秀,适用于数组数据的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对数据的访问的操作是很重要的,javascript也提供了一些数组方法来处理数组类型的数据,但是并不是所有浏览器都支持这些方法。dojo提供了一些关于数组的方法,并且在浏览器兼容性、提高执行效率、运行环境的支持方面都比较好。

every(arr, callback, thisObject)

确定数组中的每个元素是否都满足回调函数的条件,如果都满足返回true,只要有一个不满足就返回false。

参数:

  • arr:数组|字符串(如果一个字符串,操作单个字符。)
  • callback:函数|字符串(调用一个函数,三个参数:项目,索引和数组,如果条件满足,则返回。)
  • thisObject:对象类型,可选。可用于范围调用回调函数。

require(["dojo/_base/array"],function(array){
	var arr= [1,2,3,4];
	array.every(arr,function(item){
		return item>1;
	});//return false;
});

如果要使用循环进行比较判断,使用every()的效率要比forEach()高。

some(arr, callback, thisObject)

确定数组中的任何一个元素是否满足回调函数的条件,如果有一项满足返回true,没有一项满足就返回false。

参数:

  • array:数组|字符串(如果一个字符串,操作单个字符。)
  • callback:函数|字符串(调用一个函数,三个参数:项目,索引和数组,如果条件满足,则返回。)
  • thisObject:对象类型,可选。可用于范围调用回调函数。

require(["dojo/_base/array"],function(array){
	var arr= [1,2,3,4];
	array.some(arr,function(item){
		return item>1;
	});//return true;
});
indexOf(arr, value, fromIndex, findLast)

查找一个元素在数组中的第一个位置。如果存在则返回元素所在数组中的索引。如果未找到该值,则返回- 1。

参数:

  • arr:数组
  • value:对象类型参数
  • formIndex:整数参数,可选。可设置开始搜索的index
  • findLast:布尔类型,可选。如果设置为true,类似于使用lastIndexOf方法。

require(["dojo/_base/array"],function(array){
	var arr= ['apple','orange','banana','orange'];
	array.indexOf(arr,'orange');//1
	array.indexOf(arr,'orange',-1,true);//3
	array.indexOf(arr,"pear");//-1
});
lastIndexOf(arr, value, fromIndex)

查找传递数组中所提供值的最后一个索引。如果未找到该值,则返回- 1。

参数:

  • array:数组
  • value:对象类型参数
  • formIndex:整数参数,可选。可设置开始搜索的index

require(["dojo/_base/array"],function(array){
	var arr= ['apple','orange','banana','orange'];
	array.lastIndexOf(arr,'orange');//3
});
*indexOf方法从前至后挨个的搜索数组中的元素,lastIndexOf则从后向前逐个搜索。要注意这两个方法在搜索时都使用严格的比较操作(===),所以你除了可以查找简单数据类型, 你还可以查找对象。

forEach(arr, callback, thisObject)

对arr中的每个元素都执行callback函数(对元素进行操作)

参数:

  • arr:数组
  • callback:回调函数
  • thisObject:设置回调函数中的作用域,可选。

require(["dojo/_base/array"],function(array){
	var arr= ['apple','orange','banana'];
	array.forEach(arr,function(item,index){
		console.info("item:"+item+";index:"+index)
	});
});
map(arr, callback, thisObject)

对arr中的每个元素都执行callback函数(对元素进行操作),将处理结果组成一个数组返回。
参数:

  • arr:数组
  • callback:回调函数
  • thisObject:设置回调函数中的作用域,可选。

require(["dojo/_base/array"],function(array){
	var arr= [1,2,3,4];
	var newArr=array.map(arr, function(item){
		return item+1;
	});//newArr=[2,3,4,5]
});

filter(arr, callback, thisObject)

返回一个新的数组,数组中的元素是arr中满足回调函数callback条件的元素。
参数:

  • arr:数组
  • callback:回调函数
  • thisObject:设置回调函数中的作用域,可选。

require(["dojo/_base/array"],function(array){
	var arr= [1,2,3,4];
	var newArr= array.filter([1, 2, 3, 4], function(item){ 
		return item>1; 
	});//newArr=[2,3,4];
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值