数组的增删改操作

对数组的增删改操作进行总结,下面(一,二,三)是对数组的增加,修改,删除操作都会改变原来的数组.

(一)增加

向末尾增加

push() 返回新增后的数组长度

arr[arr.length] 通过arr.length来向数组末尾增加

push方法

var arr=[11,12,13,14,15];
var res=arr.push(16)
console.log(res,arr);//数组长度6 数组内容[ 11, 12, 13, 14, 15, 16 ]

arr[arr.length]方法

var arr=[11,12,13,14,15];
arr[arr.length]=16;
console.log(arr);//数组内容 [ 11, 12, 13, 14, 15, 16 ]

向开头增加

unshift() 返回新增后的数组长度

var arr=[11,12,13,14,15];
var res=arr.unshift(10)
console.log(res,arr);//数组长度6, 数组内容[ 10, 11, 12, 13, 14, 15 ]

(二)删除

删除末尾最后一项

pop() 返回删除的内容

arr.length--或者arr.length=arr.length-1让数组的长度减一也可以实现删除,减一删除最后一个,也可以减2减3等等.

pop()方法

var arr=[11,12,13,14,15];
var res=arr.pop();
console.log(res,arr);//删除的内容15 数组内容 [ 11, 12, 13, 14 ]

arr.length--方法

var arr=[11,12,13,14,15];
arr.length--;
console.log(arr);//数组内容[ 11, 12, 13, 14 ]

删除数组的第一项

shift() 返回删除的内容

var arr=[11,12,13,14,15];
var res=arr.shift();
console.log(res,arr);//删除的内容11 数组内容 [ 12, 13, 14, 15 ]

(三)用splice来对数组进行增删改操作

splice()方法:

二个参数时 splice(n,m)    从索引n处开始删除到索引m,  再把删除的内容用新数组存储起来并返回.

一个参数时 splice(n)        从索引n处开始删除删除到末尾,  再把删除的内容用新数组存储起来并返回.

三个或三个以上参数 splice(n,0,m) 第二个参数为0表示不删除,并从n的位置添加第三个参数, 再把删除的内容用新数组存储起来并返回,因为没删除所以这里返回的是空数组

二个参数时splice(n,m) (可以用它删除数组第一项或最后一项,或任意一项都可以)

var arr=[11,12,13,14,15];
var res=arr.splice(0,1);
console.log(res,arr);//删除的内容[ 11 ] 数组内容 [ 12, 13, 14, 15 ]

一个参数时splice(n)(从事索引n开始删除到末尾)

var arr=[11,12,13,14,15];
var res=arr.splice(0);
console.log(res,arr);//删除的内容[11,12,13,14,15] 数组内容 []

三个或三个以上参数(可以实现修改,添加,删除操作)

修改把下面代码第一项修改为10,先把第一项删除,再添加上新的值

var arr=[11,12,13,14,15];
var res=arr.splice(0,1,10);//把第一项改为10
console.log(res,arr);//删除的内容[11,12,13,14,15] 数组内容 [ 10, 12, 13, 14, 15 ]

向尾部添加一些新的值,第二项为0 表示不删除,添加第三项以及之后的数值

var arr=[11,12,13,14,15];
var res=arr.splice(arr.length,0,16,17);//第二项为0 表示不删除,添加第三项以及之后的数值
console.log(res,arr);//删除的内容[] 数组内容 [ 11, 12, 13, 14, 15, 16, 17 ]

(四)用slice实现数组的查询

这个方法不会改变原来的数组,arrayObject.slice(start,end)有二个参数,二个参数都可以省略,(以前学的时候说是第一个是必须的,看了mdn说是二个都可以省略,试了一下确实可以省略).

slice方法:

二个参数时 slice(n,m)  从索引n开始找到索引为m的地方(不包过索引m),找到的数组以新数组返回

一个参数时 slice(n)  从索引n开始找到末尾,找到的数组以新数组返回

二个参数:

var arr=[11,12,13,14,15];
var res=arr.slice(0,3);
console.log(res);//找到的内容[ 11, 12, 13 ]

一个参数:从索引n开始找到末尾

var arr=[11,12,13,14,15];
var res=arr.slice(0);
console.log(res);//找到的内容[ 11,12,13,14,15]

没有参数时,从索引0开始一直找到末尾

var arr=[11,12,13,14,15];
var res=arr.slice();
console.log(res);//找到的内容[ 11,12,13,14,15]

第一个参数为负数时,则表示从原数组中的倒数第几个元素开始提取,slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。

var arr=[11,12,13,14,15];
var res=arr.slice(-3);
console.log(res);//找到的内容[ 13, 14, 15 ]

javascript数组的增删改和查询的更多相关文章

  1. JavaScript数组:增删改查、排序等

    直接上代码 // 数组应用 var peoples = ["Jack","Tom","William","Tod",&q ...

  2. javascript生成表格增删改查 JavaScript动态改变表格单元格内容 动态生成表格 JS获取表格任意单元格 javascript如何动态删除表格某一行

    jsp页面表格布局Html代码 <body onload="show()"> <center> <input type="text" ...

  3. Shell数组的增删改查

    Shell数组的增删改查 shell数组的定义及取值: a=(1 2 3) [root@bogon tmp]# echo ${a[*]}  1 2 3 [root@bogon tmp]# echo $ ...

  4. js数组的增删改查

    array 数组的增删改: push 从数组后面推入一个元素或多个元素 var arr = [1,2,3]; ​ // 返回:修改后数组的长度 arr.push(4,5,6); pop 删除数组最后一 ...

  5. 用 JS(JavaScript )实现增删改查

    JS小例题 学习内容: 需求 总结: 学习内容: 需求 用 JavaScript 实现简单增删改查 实现代码 <!DOCTYPE html PUBLIC "-//W3C//DTD HT ...

  6. JavaScript HTML DOM增删改查

    首先 js 可以修改HTML中的所有元素和属性,它还可以改变CSS样式,并且可以监听到所有事件并作出响应,这篇笔记呢 主要记录如何对HTML元素进行增删改查. 1 查找DOM 第一种方式是我们最常用的 ...

  7. javascript相关的增删改查以及this的理解

    前两天做了一个有关表单增删改查的例子,现在贴出来.主要是想好好说一下this. 下面贴一张我要做的表格效果. 就是实现简单的一个增删改查. 1.点击增加后自动增加一行: 2.点击保存当前行会将属性改成 ...

  8. JavaScript中数组的增删改查

                                               数组的增加 ary.push()   向数组末尾添加元素,返回的是添加后新数组的长度,原有数组改变 ary.uns ...

  9. Javascript/Jquery操作数组,增删改查以及动态创建HTML元素

    <html> <head> <title> New Document </title> <script src="~/Scripts/j ...

随机推荐

  1. hdu 2610 2611 dfs的判重技巧

    对于全排列枚举的数列的判重技巧 1:如果查找的是第一个元素 那么 从0开始到当前的位置看有没有出现过这个元素 出现过就pass 2: 如果查找的不是第一个元素 那么 从查找的子序列当前位置的前一个元素 ...

  2. Docker 启动SQLServer

    1.运行这个命令   docker run -d -e SA_PASSWORD=Docker123  -e SQLSERVER_DATABASE=qgb -e SQLSERVER_USER=sa -e ...

  3. 一次解决黑帽SEO的经历

    最近有个朋友跟我说他的网站被黑了,百度快照里显示的是另一个网站,如: 于是查找了些资料,终于找到了问题所在,记录如下: 关于黑帽SEO1.暗链:其实“暗链”就是看不见的网站链接,“暗链”在网站中的链接 ...

  4. iOS 更改状态栏文字颜色

    第一步:在info.plist中添加一个字段:view controller -base status bar 设置为NO 第二步: 在AppDelegate.m的 didFinishLaunchin ...

  5. h5学习之表单

    <html> <head> <title>新型input类型及表单新元素</title> <meta charset="utf-8&qu ...

  6. Win10系统升级更新方式将会更智能

    使用Win10系统的你肯定遇到过在工作时开始自动更新而不得不搁置工作的情况,想必你也已经被Win10系统的自动更新折磨不已,不过这种情况将会马上得到改观. 微软现在已经开始寻找更智能的版本升级更新方式 ...

  7. RabbitMQ消息分发轮询

    一,前言 如果我们一个生产者,对应多个消费者,rabbitmq 会发生什么呢 二,消息分发轮询 前提条件:1个生产者  ---->  多个消费者,且no_ack=True (启动三次生产者) ① ...

  8. c++ 二叉树的遍历(迭代,递归)

    #include<iostream> #include <algorithm> #include <vector> #include <set> #in ...

  9. Centos使用光盘yum源

    yum查看所有源 yum repolist all 方法一:本机使用光盘源安装软件的设置 mkdir /media/cdrom mount /dev/cdrom  /media/cdrom vim / ...

  10. Js操作DOM元素及获取浏览器高宽

    在JavaScript中,经常会来获取Document文档元素,是 HTML 文档对象模型的英文缩写,Document Object Model for HTML,是基于浏览器编程,HTML DOM ...