1,reverse
作用:将数组中的元素位置颠倒并返回该数组,该方法会改变原数组。 语法:arr.reverse()
Array.prototype.myReverse = function () {
if (this instanceof Array) {
//如果是数组
let len = this.length,
i = this.length - 1;
let res = []; //定义一个数组
for (i; i >= 0; i--) {
res.push(this[i]);
}
this.length = 0; //清空原数组
Array.prototype.splice.apply(this, [0, 0, res]); //将新结果插入到原数组中
} else {
//处理类数组
let keys = [],
values = [];
let len = this.length;
delete this["length"];
for (let k in this) {
keys.push(k);
values.push(this[k]);
}
for (let i = 0, l = keys.length; i < l; i++) {
this[keys[i]] = values[len - 1 - i];
}
this["length"] = len;
}
return this; //返回结果
};
let arr1 = [1, 3, 5, 7, 9];
arr1.myReverse();
let arr2 = { 0: 1, 1: 2, 2: 3, length: 3 };
Array.prototype.myReverse.call(arr2);
console.log(arr1); //[ 9, 7, 5, 3, 1 ]
console.log(arr2); //{ '0': 3, '1': 2, '2': 1, length: 3 }