 | |  |  | /* 安卓手机 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 是否为数组,如果不是,则抛出一个错误。使用arr.slice() 创建数组的一个副本,以避免直接修改原始数组。然后使用sort(function(a,b){return a-b;}) 方法对数组元素进行升序排序。sort 方法的比较函数接收两个参数a 和b ,返回它们的差值,这样可以确保数组中的元素按照从小到大的顺序排列。 - 错误处理:如果输入的参数不是数组,将捕获错误并打印错误信息,同时返回
null 。
- 数组.元素降序(arr)
- 功能:将传入的数组
arr 的元素按降序排列。 - 实现:类似上面的
元素升序 方法,同样先检查arr 是否为数组,如果不是,则抛出错误。然后使用arr.slice() 复制数组,并通过sort(function(a,b){return b-a;}) 方法对数组元素进行降序排序。 - 错误处理:如果输入的参数不是数组,将捕获错误并打印错误信息,同时返回
null 。
- 数组.元素链接(arr, sep)
- 功能:将数组
arr 中的所有元素连接成一个字符串,元素之间用sep 参数指定的分隔符隔开。 - 实现:首先检查
arr 是否为数组,如果不是,则抛出错误。使用arr.join() 方法将数组元素连接成字符串,join 方法的参数sep 是一个字符串,用于指定分隔符。如果sep 不是字符串,则默认使用逗号, 作为分隔符。 - 错误处理:如果输入的参数不是数组,将捕获错误并打印错误信息,同时返回
null 。
- 数组.取长度(arr)
- 功能:返回数组
arr 的长度。 - 实现:检查
arr 是否为数组,如果不是,则抛出错误。如果arr 是一个数组,则返回它的length 属性。 - 错误处理:如果输入的参数不是数组,将捕获错误并打印错误信息,同时返回
0 。
- 数组.插入元素(arr, el, idx)
- 功能:在数组
arr 的指定位置idx 插入元素el 。 - 实现:首先检查
arr 是否为数组,如果不是,则抛出错误。idx 参数是插入元素的位置,如果idx 不是数字,则默认在数组的末尾插入元素。使用arr.splice(idx,0,el) 方法在数组的指定位置插入元素。splice 方法的第一个参数是开始操作的位置,第二个参数是删除的元素数量(这里设置为0 ,表示不删除任何元素),第三个参数是要插入的元素。 - 错误处理:如果输入的参数不是数组,将捕获错误并打印错误信息,同时返回
null 。
- 数组.移除元素(arr, start, len)
- 功能:从数组
arr 的指定起始位置start 开始移除len 个元素。 - 实现:首先检查
arr 是否为数组,如果不是,则抛出错误。接着检查start 是否为数字,如果不是,则抛出错误。len 参数是要移除的元素数量,如果len 不是数字,则默认从start 位置开始移除到数组末尾的所有元素。使用arr.splice(start,len) 方法移除数组中的元素。 - 错误处理:如果输入的参数不是数组或者
start 不是数字,将捕获错误并打印错误信息,同时返回null 。
| |  | |  |
|