![]() | |
![]() | ![]() ![]() ![]() |
/* 安卓手机 Android 和Rhino1.7.13 和ES5 JavaScript环境 */
var 数组 = {};
// 1. 元素升序(小到大)
数组.元素升序 = function(arr) {
try {
if (!Array.isArray(arr)) throw new Error("需要数组");
return arr.slice().sort(function(a,b){return a-b;});
} catch(e) {
printl("[错误] "+e.message);
return null;
}
};
// 2. 元素降序(大到小)
数组.元素降序 = function(arr) {
try {
if (!Array.isArray(arr)) throw new Error("需要数组");
return arr.slice().sort(function(a,b){return b-a;});
} catch(e) {
printl("[错误] "+e.message);
return null;
}
};
// 3. 元素链接(转字符串)
数组.元素链接 = function(arr, sep) {
try {
if (!Array.isArray(arr)) throw new Error("需要数组");
return arr.join(typeof sep=='string'?sep:',');
} catch(e) {
printl("[错误] "+e.message);
return null;
}
};
// 4. 取长度
数组.取长度 = function(arr) {
try {
if (!Array.isArray(arr)) throw new Error("需要数组");
return arr.length;
} catch(e) {
printl("[错误] "+e.message);
return 0;
}
};
// 5. 插入元素
数组.插入元素 = function(arr, el, idx) {
try {
if (!Array.isArray(arr)) throw new Error("需要数组");
idx = typeof idx=='number'?idx:arr.length;
arr.splice(idx,0,el);
return arr;
} catch(e) {
printl("[错误] "+e.message);
return null;
}
};
// 6. 移除元素
数组.移除元素 = function(arr, start, len) {
try {
if (!Array.isArray(arr)) throw new Error("需要数组");
if (typeof start!='number') throw new Error("需要数字位置");
len = typeof len=='number'?len:arr.length-start;
return arr.splice(start,len);
} catch(e) {
printl("[错误] "+e.message);
return null;
}
};
/* 测试用例 */
var 测试数据 = [30,10,20];
printl("升序: "+数组.元素升序(测试数据)); // 10,20,30
printl("降序: "+数组.元素降序(测试数据)); // 30,20,10
printl("链接: "+数组.元素链接(测试数据,"-")); // 30-10-20
printl("长度: "+数组.取长度(测试数据)); // 3
printl("插入: "+数组.插入元素(测试数据,"新增",1)); // [30,"新增",10,20]
printl("移除: "+数组.移除元素(测试数据,1,2)); // ["新增",10]
printl("最终数组: "+测试数据); // [30,20]
arr
的元素按升序排列。arr
是否为数组,如果不是,则抛出一个错误。使用arr.slice()
创建数组的一个副本,以避免直接修改原始数组。然后使用sort(function(a,b){return a-b;})
方法对数组元素进行升序排序。sort
方法的比较函数接收两个参数a
和b
,返回它们的差值,这样可以确保数组中的元素按照从小到大的顺序排列。null
。arr
的元素按降序排列。元素升序
方法,同样先检查arr
是否为数组,如果不是,则抛出错误。然后使用arr.slice()
复制数组,并通过sort(function(a,b){return b-a;})
方法对数组元素进行降序排序。null
。arr
中的所有元素连接成一个字符串,元素之间用sep
参数指定的分隔符隔开。arr
是否为数组,如果不是,则抛出错误。使用arr.join()
方法将数组元素连接成字符串,join
方法的参数sep
是一个字符串,用于指定分隔符。如果sep
不是字符串,则默认使用逗号,
作为分隔符。null
。arr
的长度。arr
是否为数组,如果不是,则抛出错误。如果arr
是一个数组,则返回它的length
属性。0
。arr
的指定位置idx
插入元素el
。arr
是否为数组,如果不是,则抛出错误。idx
参数是插入元素的位置,如果idx
不是数字,则默认在数组的末尾插入元素。使用arr.splice(idx,0,el)
方法在数组的指定位置插入元素。splice
方法的第一个参数是开始操作的位置,第二个参数是删除的元素数量(这里设置为0
,表示不删除任何元素),第三个参数是要插入的元素。null
。arr
的指定起始位置start
开始移除len
个元素。arr
是否为数组,如果不是,则抛出错误。接着检查start
是否为数字,如果不是,则抛出错误。len
参数是要移除的元素数量,如果len
不是数字,则默认从start
位置开始移除到数组末尾的所有元素。使用arr.splice(start,len)
方法移除数组中的元素。start
不是数字,将捕获错误并打印错误信息,同时返回null
。欢迎光临 自动发帖软件 (http://www.fatiegongju.com/) | Powered by Discuz! X3.2 |