数组方法实现(三)————数组方法shift()
来源:互联网 发布:arm单片机型号有哪些 编辑:程序博客网 时间:2024/06/04 19:25
shift()方法
shift()方法
1. 定义:从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。
2. 语法: arr.shift()
3. 参数:/
4. 返回值:从数组中删除的元素(当数组为空时返回undefined)。
代码如下:
方法一:
var arr1 = [1, 2, 3, 4, 'A', 'B', 'C']; var arr2 = [];Array.prototype.copyShift = function() { var result = [], newArr = []; result = this[0]; for(var i = 1; i < this.length; i++) {// 将数组的第二个至最后一项的值赋值给newArr newArr[newArr.length] = this[i]; } for(var i = 0; i < newArr.length; i++) { //newArr赋值给原数组 this[i] = newArr[i]; } this.length = newArr.length; return result;};arr1.copyShift(); // 1arr1; // [2, 3, 4, 'A', 'B']arr2.copyShift(); // undefinedarr2; // []
方法二:将上述代码修改为如下:(去掉中间数组newArr,直接在原数组上操作)
var arr1 = [1, 2, 3, 4, 'A', 'B', 'C']; var arr2 = [];Array.prototype.copyShift = function() { var result = []; result = this[0];/* for(var i = 1; i < this.length; i++) {// 将数组的第二个至最后一项的值赋值给newArr newArr[newArr.length] = this[i]; } for(var i = 0; i < newArr.length; i++) { //newArr赋值给原数组 this[i] = newArr[i]; } this.length = newArr.length; */ // 将数组的后一项赋值给前一项 for(var i = 0; i < this.length; i++) { this[i] = this[i + 1]; } if(this.length > 1) {//去掉数组最后一项 this.length = this.length - 1; } return result;};arr1.copyShift(); // 1arr1; // [2, 3, 4, 'A', 'B']arr2.copyShift(); // undefinedarr2; // []
阅读全文
0 0
- 数组方法实现(三)————数组方法shift()
- 数组 — 方法
- 数组方法实现(一)————数组方法join()
- 数组方法实现(二)————数组方法push()、pop()
- 数组方法实现(四)————数组方法unshift()
- 数组方法实现(五)————数组方法reverse()
- 数组方法实现(五)————数组方法concat()
- 数组方法实现(六)————数组方法slice()
- 数组方法实现(七)————数组方法splice()
- 数组方法实现(八)————数组方法indexOf()
- Matlab中数组元素引用——三种方法
- Matlab中数组元素引用——三种方法
- Matlab中数组元素引用——三种方法
- Matlab中数组元素引用——三种方法
- 遍历数组—三种内置的方法
- javascript中数组对象的shift()方法
- 黑马程序员—数组、方法
- 数组—添加删除方法
- 图像特效之鱼眼特效
- 框架笔记
- 求和
- TeX中的引号(引号的转化)
- 无限轮播自动播加动态添加小圆点
- 数组方法实现(三)————数组方法shift()
- 使用canvas画一个时钟
- pyspark-MLlib(Data Types)
- Codeforces 875D High Cry rmq+分治
- Jzoj4727 挺进
- c语言开发笔试题
- forever
- 一些需要阅读的专业书籍
- 7.Java运算符