原生JS数组方法实现(一)————push()、unshift()、pop()和shift()
push
向数组末尾添加一个或多个元素,并返回数组新的长度
```javascript
function push(){
   for(let i=0;i<arguments.length;i++){
       this[this.length] = arguments[i];
   }
    return this.length
}
Array.prototype.push = push;
```
unshift
向数组开头添加一个或多个元素,并且返回数组新的长度
```javascript
function unshift(){
    //创建一个新数组接收添加的元素
	let newAry = [];
    for(let i=0;i<arguments.length;i++){
        newAry[i] = arguments[i];
    }
    let len = newAry.length;
    for(let i=0;i<this.length;i++){
        newAry[i+len] = this[i];
    }
    for(let i=0;i<newAry.length;i++){
        this[i] = newAry[i];
    }
    return this.length;
}
Array.prototype.unshift = unshift;
```
pop
删除数组最后一项,并返回该删除项目
```javascript
function pop(){
    let returnVal = this[this.length-1];
    this.length--;
    return returnVal
}
Array.prototype.pop = pop;
```
shift
删除数组第一项,并且返回该删除项目
```javascript
function shift(){
    let newAry = [];
    let reVal = this[0];
    for(let i=0;i<this.length-1;i++){
        newAry[i] = this[i+1];
    }
    for(let i=0;i<newAry.length;i++){
        this[i] = newAry[i]
    }
    this.length--;
    return reVal;
}
Array.prototype.shift = shift;
```
原生JS数组方法实现(一)————push()、unshift()、pop()和shift()的更多相关文章
- 数组增、删方法(push()-unshift()-pop()和shift())
		<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ... 
- js开发:数组的push()、pop()、shift()和unshift()(转)
		js开发:数组的push().pop().shift()和unshift() 2017-05-18 11:49 1534人阅读 评论(0) 收藏 举报 分类: javascript开发(22) 版 ... 
- js中数组增删查改unshift、push、pop、shift、slice、indexOf、concat、join
		js中数组增删查改unshift.push.pop.shift.slice.indexOf.concat.join 
- js 数组方法比较
		js 数组方法比较 table th:first-of-type { width: 80px; } table th:nth-of-type(2) { width: 120px; } table th ... 
- js数组方法详解
		Array对象的方法-25个 /*js数组方法详解 */ /* * 1 concat() 用于连接多个数组或者值-------------- * 2 copyWithin() 方法用于从数组的指定位置 ... 
- 转载收藏(js数组方法大全)
		js数组方法大全 JavaScript中创建数组有两种方式 (一)使用 Array 构造函数: var arr1 = new Array(); //创建一个空数组var arr2 = new Arra ... 
- js数组方法大全(上)
		# js数组方法大全(上) 记录一下整理的js数组方法,免得每次要找方法都找不到.图片有点多,注意流量,嘻嘻! 本期分享 join() reverse() sort() concat() slice( ... 
- js数组方法大全(下)
		# js数组方法大全(下) 记录一下整理的js数组方法,免得每次要找方法都找不到.图片有点多,注意流量,嘻嘻! 本期分享 forEach() map() filer() every() some() ... 
- 021——VUE中变异方法 push/unshift pop/shift
		<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ... 
随机推荐
- java代码简单实现队列
			1. 基于链表简单实现 import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; / ... 
- Redis源码解析:06整数集合
			整数集合(intset)是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层实现. intset可以保存类型为int16_t,i ... 
- 18-2 djanjo中间件和orm多对多操作,以及ajax
			一 中间件 0 怎样使用中间件 在setting配置文件里面注册你的中间件,如下: 'mymiddleware.MD1', 前面是文件名,后面是类名 然后在你的mymiddleware文件里导入: ... 
- css white-space属性
			css white-space属性 规定段落中的文本不进行换行 
- H3C 使用命令视图
- Android Studio(八):Android Studio设置教程
			Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ... 
- Activiti快速入门项目-kft-activiti-demo
			1.项目简介 1.1 项目信息 本项目旨在让Activiti初学者可以快速入门,使用工作流里面的请假流程作为Activiti企业实战的Hello World. 简单通过这个实例说明如何结合流程与业务, ... 
- Python--day61--Django ORM单表操作之展示用户列表
			user_list.html views.py 项目的urls.py文件 
- H3C HDLC帧格式
- vue 组件的强制刷新
			组件 <vue-component v-if="hackReset"></vue-component> <button @click="a& ... 
