批改状态:合格
老师批语:
使用js对象模拟数组代码
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>对象模拟数组</title></head><body></body></html><script>function MyArr() {// arguments压缩可变数量参数为一个类数组this.length = arguments.length;for(var i = 0; i < arguments.length; i++) {this[i] = arguments[i];}// 1、新元素将添加在数组的末尾,并返回新的长度this.push = function (item){this[this.length] = item;this.length++;return this.length;}// 2、删除数组的最后一个元素并返回删除的元素this.pop = function (){var popArr = this[this.length - 1];delete this[this.length - 1];this.length--;return popArr;}// 3、返回表示Integer值的String对象this.toString = function (){var result = "";var j = ',';for (var i = 0; i < this.length - 1; i++){result += this[i];result += j;}result += this[i];return result;}// 4、对数组的元素进行排序:正序和倒序this.sort = function sort(arr, flag = true) {for(var i = 0; i < arr.length - 1; i++) {for (var j = 0; j < arr.length - i - 1; j++) {if(flag) {if (arr[j] > arr[j + 1]) {var swap = arr[j];arr[j] = arr[j + 1];arr[j + 1] = swap;}}else{if (arr[j] < arr[j + 1]) {var swap = arr[j];arr[j] = arr[j + 1];arr[j + 1] = swap;}}}}return arr;}// 5、返回数组参数中的最大值this.max = function arrmax(arr) {var max = arr[0];for(var i = 0; i < arr.length; i++) {if(arr[i] > max)max = arr[i];}return max;}// 6、返回数组参数中的最小值this.min = function arrmin(arr) {var min = arr[0];for(var i = 0; i < arr.length; i++) {if(arr[i]< min)min = arr[i];}return min;}// 7、反转数组中元素的顺序this.reverse = function() {var result = [];for(var i = 0; i < this.length; i++) {result[result.length] = this[this.length - i - 1];}for(var i = 0; i < result.length; i++) {this[i] = result[i];}return this;}}var arr = new MyArr(11,3,55,88,99,"aaa");// 添加在数组的末尾console.log(arr.push("help"));// 删除数组的最后一个元素console.log(arr.pop());// Integer值的String对象console.log(arr.toString());// 输出结果是开头第一个的元素console.log(arr[0]);// 排序:true时为正序,false时为倒序console.log(arr.sort(arr, false));// 返回数组参数中的最大值console.log(arr.max(arr));// 返回数组参数中的最小值console.log(arr.min(arr));// 反转数组中元素的顺序console.log(arr.reverse());</script>
打印结果
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号