var arr = ['A', 'B', 'C', 'D'];
//push:将参数添加到原数组末尾,并返回数组的长度
Array.prototype.push=function(){
for(var i=0; i
this[this.length]=arguments[i]
}
return this.length
}
arr.push('E')
console.log(arr)
//pop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined
Array.prototype.pop =function() {
var val;
for(var i = 0; i < this.length; i++){
if(i ==this.length - 1) {
val = this[i];
this.length-=1;
}
}
return val;
}
arr.pop()
console.log(arr)
//reverse:将数组反序
Array.prototype.reverse=function(){
var arr=[];
for(var i=this.length-1; i>=0;i--){
arr.push(this[i])
}
for(var i=0; i
this[i]=arr[i]
}
return this.length
}
arr.reverse()
console.log(arr)
//slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组
Array.prototype.slice=function(){
var start=arguments[0];
var end=arguments[1];
var arr=[]
if(end){
for(vari=0; i
if(i>=start&&i<=end){
arr.push(this[i]);
}
}
returnarr;
}else{
for(vari=0; i
if(i>=start){
arr.push(this[i]);
}
}
returnarr;
}
}
b=arr.slice(1,3)
console.log(b)
//join('|'):将数组的元素组起一个字符串,以'|'为分隔符,省略的话则用默认用逗号为分隔符
Array.prototype.join=function(){
if(typeof arguments[0]!='string'){
join=','
}else{
join=arguments[0];
}
var val='';
for(var i=0; i
val+=(this[i]+join)
}
return val;
}
c=arr.join('|')
console.log(c)
//indexOf: 知道值查找坐标
Array.prototype.indexOf=function(){
for(var i=0; i
if(this[i]==arguments[0]){
return i
}
}
}
console.log(arr.indexOf('A'));
//shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined
Array.prototype.shift=function(){
var arr=[];
var one=this[0];
for(var i=1; i
arr.push(this[i])
}
for(var i=0; i
this[i]=arr[i]
}
this.pop();
return one;
}
console.log(arr.shift())
console.log(arr)
//unshift:将参数添加到原数组开头,并返回数组的长度
Array.prototype.unshift=function(){
var arr=[];
for(i in this){
arr.push(this[i])
}
for(var i=0; i
this[i]=arguments[i];
}
for(var i=0; i
this.push(arr[i])
}
return this.length;
}
d=arr.unshift(-2,-1)
console.log(d)
console.log(arr)
js数组方法内部实现
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 上周五晚上看书,看到了js位移,就突然想到数组前面添加和删除元素是可以通过这个玩意实现的,实现了以后,就想着要么吧...
- 原文地址 前言 因为平时在写代码的过程中,有些算法会经常重复写,比如数组去重、数组抽取随机值等!虽然这些不是很难的...