Js:数组的各种方法范例pop,push,unshift,splice,shift
<script>
Array.prototype.pop=function(){
if(this.length!=0)this.length--;
return this;
}
/*
pop 方法
移除数组中的最后一个元素并返回该元素。
arrayObj.pop( )
必选的 arrayObj 引用是一个 Array 对象。
说明
如果该数组为空,那么将返回 undefined。
*/
var a=[1,2,3,4]
a.pop()
alert(a)
alert(a.pop())</script><script>
/*
push 方法
将新元素添加到一个数组中,并返回数组的新长度值。
arrayObj.push([item1 [item2 [. . . [itemN ]]]])
参数
arrayObj
必选项。一个 Array 对象。
item, item2,. . . itemN
可选项。该 Array 的新元素。
说明
push 方法将以新元素出现的顺序添加这些元素。如果参数之一为数组,那么该数组将作为单个元素添加到数组中。如果要合并两个或多个数组中的元素,请使用 concat 方法。
*/
Array.prototype.push=function(){
var len=arguments.length;
if(len>0)for(var i=0;i<len;i++)this[this.length]=arguments[i];
return this.length;
}
var a=[1,2,3,4]
a.push(5)
alert(a)
alert(a.push(6))</script><script>
/*
unshift 方法
将指定的元素插入数组开始位置并返回该数组。
arrayObj.unshift([item1[, item2 [, . . . [, itemN]]]])
参数
arrayObj
必选项。一个 Array 对象。
item1, item2,. . .,itemN
可选项。将插入到该 Array 开始部分的元素。
说明
unshift 方法将这些元素插入到一个数组的开始部分,所以这些元素将以参数序列中的次序出现在数组中。
*/
Array.prototype.unshift=function(){
var len=arguments.length;
this.reverse();
if(len>0)for(var i=len;i>0;i--)this[this.length]=arguments[i-1];
return this.reverse();
}
var a=[1,2,3,4]
a.unshift()
alert(a)
a.unshift(5,6)
alert(a)
alert(a.unshift(7))</script><script language="JScript">
Array.prototype.splice=function(){
var len=arguments.length;
var tarray=[];
if(len>1){
for(var i=arguments[0]+arguments[1];i<this.length;i++)tarray[tarray.length]=this[i];
this.length=arguments[0];
if(len>2)for(var i=2;i<len;i++)this[this.length]=arguments[i];
var tlen=tarray.length;
for(var i=0;i<tlen;i++)this[this.length]=tarray[i];
}
return this;
}
var a=[1,2,3,4];
/*
splice 方法
从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。
arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
参数
arrayObj
必选项。一个 Array 对象。
start
必选项。指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的。
deleteCount
必选项。要移除的元素的个数。
item1, item2,. . .,itemN
必选项。要在所移除元素的位置上插入的新元素。
说明
splice 方法可以移除从 start 位置开始的指定个数的元素并插入新元素,从而修改 arrayObj。返回值是一个由所移除的元素组成的新 Array 对象。
*/
alert(a.splice(0,1));
alert(a.splice(0,1,1,1,1,1,1,1,1))
</script><script>
Array.prototype.shift=function(){
var f=this[0];
for(var i=0;i<this.length;i++)this[i]=this[i+1];
this.length--;
return f;
}
/*
shift 方法
移除数组中的第一个元素并返回该元素。
arrayObj.shift( )
必选的 arrayObj 引用是一个 Array 对象。
说明
shift 方法可移除数组中的第一个元素并返回该元素。
*/var a=[1,2]
alert(a.shift())
alert(a)
</script>
分享到:
相关推荐
本篇文章主要介绍了js数组操作之pop,push,unshift,splice,shift。需要的朋友可以过来参考下,希望对大家有所帮助
1 重新定义原生数组方法push unshift shift pop splice sort reverse 因为这些方法可以修改原数组。 2 拿到原生数组方法 Object.create(Array.prototype) 3 AOP拦截,再执行重写数组方法前,先执行原生数组方法 核心...
数组创建方式有两种 1. var arr = [] 2. var arr = new Array() 如果只有一个参数会指定...改变原数组 push pop shift unshift sort reverse splice 不改变原数组 concat join —> split toString slice 比如 push 函数
这里总结到的 js 数组操作函数有:push,pop,join,shift,unshift,slice,splice,concat (1)push 和 pop 这两个函数都是对数组从尾部进行压入或弹出操作。push(arg1,arg2,…)可以每次压入一个或多个元素,并...
push,pop,shift,unshift,sort,reverse,splice 2)不改变原数组concat,join–> split,toStringpush:从数组最后一位开始加数据 pop:把数组最后一位剪切 shift:在数组最前一位剪切 unshift:在数组最前一位加数 ...
push pop unshift shift reverse sort splice (2)原数组未变,生成新数组 slice concat filter 对于使原数组变化的方法,可以直接更新视图。 对于原数组未变的方法,可以使用新数组替换原来的...
JavaScript中常用的数组方法如下: - push():向数组末尾添加一个或多个元素,并返回新的长度。 - pop():删除并返回数组的最后一个元素。 - unshift():向数组开头添加一个或多个元素,并返回新的长度。 - ...
push、unshift方法,返回length。增加值得就返回length,其他返回该元素 pop,shift返回该元素 reverse返回该元素 splice(start,deleteCount,addItem…),从原数组中删除和增加,返回删除的数组 不会改变原来的数组,...
JavaScript 是全球最流行的编程语言。 本文件整理了前端面试中的面试题。 1.请说一下数组常用的方法有哪些? push():添加到数组的最后 splice():删除指定的元素,并且在删除的位置... unshift():将内容添加到数组的开头
实现了一些比较常见的array功能,并且使用了 jest 进行测试。 ...pop push reduce reverse shift slice some sort splice unshift 有些同质化比较高的就没有继续写了,不过逻辑应该都是差不多的。
数组的splice,push,pop,unshift,shift,sort,reverse方法会改变原数组 类数组怎么转化为数组 什么是类数组,就是属性要为索引(数字)属性,同时又必须有一个length属性来控制对象边界的一个特殊对象,特点: 1...
记录一下整理的js数组方法,免得每次要找方法都找不到。图片有点多,注意流量,嘻嘻! 本期分享 forEach() map() filer() every() some() reduce() reduceRight() indexOf() lastIndex() 上期分享 join() reverse() ...
push(...values): splice(length, 0, ...values) shift(): splice(0, 1)[0] unshift(...values): splice(0, 0, ...values) clear(): splice(0, length) Splice 总是返回一个已删除值的数组,这对于对所有这些方法...
Vue 包含一组观察数组的变异方法,所以它们也将会触发视图更新。这些方法如下: push() pop() shift() unshift() splice() sort() reverse() 都有什么功能?动手试验了一下: <body> push方法: ...
在 vue 中使用数组的push()、pop()、shift()、unshift()、splice()、sort()、reverse() 、filter()、concat() 方法时,改变数组的同时可以触发视图的变化。 注意: 有两种情况 vue 无法检测到变动的数组,分别是:...
map channing数组方法push,pop,shift,unshift数组方法splice,sort,filter,indexof,lastindexof,reverse,将字符串转换为数组,数组方法减少,减少正确,每次,扁平,查找,查找索引。对象方法冻结,严格模式...
push()方法:可以向数组的末尾添加一个或者多个元素,并且返回新的长度 pop()方法:可以删除数组最后一个元素,并且返回被删除的元素,注意:如果数组是空的,该方法不进行任何操作,返回undefined。 unshift()...
直接通过数组的下标给数组设置值,不能实时响应,是因为Object.defineProperty() 无法监控到数组下标的变化,而我们平常所用的数组方法 push , pop , shift , unshift , splice , sort , reverse , 其实不是真正的...