我是靠谱客的博主 传统路人,最近开发中收集的这篇文章主要介绍数组原型上的方法实现原理(Array.prototype.pop/push/shift/unshift),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>数组原型上的方法实现原理</title>
</head>
<body>
</body>
</html>
<script type="text/javascript">
var ary=[1,2,3,4,5,6,7,8];
//pop()

Array.prototype.pop=function () {
//this :当前实例

var num=this[this.length-1];
this.length--;
return num;
};
console.log(ary.pop());
console.log(ary);
//push()

Array.prototype.push=function () {
for (var i=0;i<arguments.length;i++){
this[this.length]=arguments[i]
}
return this.length;
};
console.log(ary.push(1, 2, 3));
console.log(ary);
//3.shift()

//[1,2,3,4,5,6,7,8];

//[2,3,4,5,6,7,8,8]

//[2,3,4,5,6,7,8]

Array.prototype.shift=function () {
var num=this[0];
for(var i=1;i<this.length;i++){
this[i-1]=this[i];
}
this.length--;
return num;
};
console.log(ary.shift());
console.log(ary);
//unshift()

Array.prototype.unshift=function () {
var ary=[...arguments,...this];
this.length=ary.length;
for(var i=0;i<ary.length;i++){
this[i]=ary[i];
}
return ary.length;
};
Array.prototype.unshift=function () {
var str="";
for(var i=0;i<arguments.length;i++){
if(typeof arguments[i]=="string"){
str+="'"+arguments[i]+"',";
}else {
str+=arguments[i]+",";
}
}
for(var i=0;i<this.length;i++){
if(typeof this[i]=="string"){
str+="'"+this[i]+"',"

}else {
str+=this[i]+","

}
}
var ary=eval("["+str+"]");
this.length=ary.length;
for(var i=0;i<ary.length;i++){
this[i]=ary[i];
}
return ary.length;
};
ary.unshift("哈哈","嘿嘿");
console.log(ary);
</script>

最后

以上就是传统路人为你收集整理的数组原型上的方法实现原理(Array.prototype.pop/push/shift/unshift)的全部内容,希望文章能够帮你解决数组原型上的方法实现原理(Array.prototype.pop/push/shift/unshift)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部