该页面演示Arrays API的使用,点击下方按钮开始演示

开始运行 请查看下面输出
>|
//------------------------------begin
jcollections.exports('Arrays');//导出Arrays类
var list = Arrays.asList(1,2,3);//调用asList,将多个数值转化为ArrayList类型的集合
console.log('调用asList方法转化成的ArrayList集合: ' + list);//打印集合数据
$
var ary = [1,2,3,4,5,6,7,8,9,10];//定义一个有序数组
//调用binarySearch二分查找方法查找ary数组中值为7的索引
console.log('二分查找结果索引: ' + Arrays.binarySearch(ary, 7));
//调用binarySearchRange二分查找方法在ary数组4到8的索引范围内查找值为6的索引
console.log('指定范围二分查找结果索引: ' + Arrays.binarySearchRange(ary, 4, 8, 6));
console.log('复制的新数组元素: ' + Arrays.copyOf(ary, 3));//调用copyOf方法复制ary数组中的3个元素到新数组
//调用copyOfRange方法复制从索引为3处到索引为6处的元素(索引值包括3,不包括6)
console.log('复制指定范围的新数组元素: ' + Arrays.copyOfRange(ary, 3, 6));
$
var objAry = [
	{id:1, name:'bill'},
	{id:2, name:'steve'},
	{id:3, name:'scott'},
	{id:4, name:'john'},
	{id:5, name:'tom'}
];
//根据id属性进行二分查找复杂对象
var position = Arrays.binarySearch(objAry, {id:4, name:'john'}, function(a, b) {
	return a.id - b.id;
});
console.log('复杂对象二分查找结果索引: ' + position);//打印结果的索引
$
var ary0 = [1,2,3], ary1 = [1,2,3];
console.log('ary0和ary1相同吗? ' + Arrays.equals(ary0, ary1));//比较两个数组是否相同
var objAry0 = [
	{id:1, name:'bill'},
	{id:2, name:'steve'},
	{id:3, name:'scott'}
];
var objAry1 = [
	{id:1, name:'bill'},
	{id:2, name:'steve'},
	{id:3, name:'scott'}
];
//根据比较函数来比较两个对象数组是否相同
console.log('objAry0和objAry1相同吗? ' + Arrays.equals(objAry0, objAry1, function(a, b) {
	return a.id === b.id && a.name === b.name;
}));
$
var ary2 = [1,5,2,3,6,9,8];
console.log('简单排序后的数组元素: ' + Arrays.sort(ary2));//简单排序
var objAry2 = [
	{id:1, name:'bill', toString: function() {return '1:bill';}},
	{id:4, name:'john', toString: function() {return '4:john';}},
	{id:2, name:'steve', toString: function() {return '2:steve';}},
	{id:5, name:'tom', toString: function() {return '5:tom';}},
	{id:3, name:'scott', toString: function() {return '3:scott';}}
];
var sortedAry = Arrays.sort(objAry2, function(a, b) {//复杂排序,根据id属性正序
	return a.id - b.id;
});
console.log('按id属性正序排序后的数组元素: ' + sortedAry);//打印排序后的数组
var sortedAry = Arrays.sort(objAry2, function(a, b) {//复杂排序,根据id属性逆序
	return b.id - a.id;
});
console.log('按id属性逆序排序后的数组元素:' + sortedAry);//打印排序后的数组
//------------------------------end