<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
function MyArray(){
this.length = arguments.length;
for (var i = 0; i < arguments.length; i++){
this[i] = arguments[i];
}
// 1、新元素将添加在数组的末尾,并返回新的长度
this.push = function (s){
this[this.length]=s;
this.length++;
return this.length;
}
// 2、删除数组的最后一个元素并返回删除的元素
this.pop = function (){
var popdata = this[this.length-1];
delete this[this.length-1];
this.length--;
return popdata;
}
// 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 MyArray(11,3,55,88,99,"abc");
// 添加在数组的末尾
console.log(arr.push("hello"));
// 删除数组的最后一个元素
console.log(arr.pop());
// Integer值的String对象
console.log(arr.toString());
// 输出结果是开头第一个的元素
console.log(arr[0]);
// console.log(arr[1]); //输出结果是开头第二个的元素
// console.log(arr[2]); //输出结果是开头第三个的元素
// console.log(arr[3]); //输出结果是开头第四个的元素
// console.log(arr[4]); //输出结果是开头第五个的元素
// console.log(arr[5]); //输出结果是开头第六个的元素
// console.log(arr[6]); //输出结果是未定义
// 排序:true时为正序,false时为倒序
console.log(arr.sort(arr, true));
// 返回数组参数中的最大值
console.log(arr.max(arr));
// 返回数组参数中的最小值
console.log(arr.min(arr));
// 反转数组中元素的顺序
console.log(arr.reverse());
</script>
</body>
</html>
运行结果:
相关推荐
© 2020 asciim码
人生就是一场修行