javascript数组的增删改和查询
数组的增删改操作
对数组的增删改操作进行总结,下面(一,二,三)是对数组的增加,修改,删除操作都会改变原来的数组.
(一)增加
向末尾增加
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数组的增删改和查询的更多相关文章
- JavaScript数组:增删改查、排序等
直接上代码 // 数组应用 var peoples = ["Jack","Tom","William","Tod",&q ...
- javascript生成表格增删改查 JavaScript动态改变表格单元格内容 动态生成表格 JS获取表格任意单元格 javascript如何动态删除表格某一行
jsp页面表格布局Html代码 <body onload="show()"> <center> <input type="text" ...
- Shell数组的增删改查
Shell数组的增删改查 shell数组的定义及取值: a=(1 2 3) [root@bogon tmp]# echo ${a[*]} 1 2 3 [root@bogon tmp]# echo $ ...
- js数组的增删改查
array 数组的增删改: push 从数组后面推入一个元素或多个元素 var arr = [1,2,3]; // 返回:修改后数组的长度 arr.push(4,5,6); pop 删除数组最后一 ...
- 用 JS(JavaScript )实现增删改查
JS小例题 学习内容: 需求 总结: 学习内容: 需求 用 JavaScript 实现简单增删改查 实现代码 <!DOCTYPE html PUBLIC "-//W3C//DTD HT ...
- JavaScript HTML DOM增删改查
首先 js 可以修改HTML中的所有元素和属性,它还可以改变CSS样式,并且可以监听到所有事件并作出响应,这篇笔记呢 主要记录如何对HTML元素进行增删改查. 1 查找DOM 第一种方式是我们最常用的 ...
- javascript相关的增删改查以及this的理解
前两天做了一个有关表单增删改查的例子,现在贴出来.主要是想好好说一下this. 下面贴一张我要做的表格效果. 就是实现简单的一个增删改查. 1.点击增加后自动增加一行: 2.点击保存当前行会将属性改成 ...
- JavaScript中数组的增删改查
数组的增加 ary.push() 向数组末尾添加元素,返回的是添加后新数组的长度,原有数组改变 ary.uns ...
- Javascript/Jquery操作数组,增删改查以及动态创建HTML元素
<html> <head> <title> New Document </title> <script src="~/Scripts/j ...
随机推荐
- 解决低版本IE关于html5新特性的兼容性问题html5shiv.js和Respond.js,以及excanvas.js解决低版本IE不支持canvas的问题
插件:html5shiv.js 让IE9以下版本支持html5新标签,git地址https://github.com/aFarkas/html5shiv 用于解决IE9以下版本浏览器对HTML5新增标 ...
- css加载没效果,查看网络显示类型为 text/plain 的解决方法
当请求的css 文件的MIME 类型 为 text/plain 时,文件会当做 .txt 文件来处理,浏览器就会拒绝渲染 产生这样的问题和服务器的配置有关系 在服务器上加上下面两句就好了 搞定
- 网络编程之NIO
传统的BIO(Blocking IO)的缺点: 1.基于阻塞式IO建立起来的,导致服务端一直阻塞等待着客户端发起请求,如果客户端不发起,服务端的的业务线程会一直存. 2.弹性伸缩能力差,线程数和客户端 ...
- python多继承下的查找顺序-MRO原则演变与C3算法
在python历史版本中的演变史 python2.2之前: MRO原则: 只有经典类,遵循深度优先(从左到右)原则, 存在的问题:在有重叠的多继承中,违背重写可用原则 解决办法是再设计类的时候不要设计 ...
- 【转载】interpolation(插值)和 extrapolation(外推)的区别
根据已有数据以及模型(函数)预测未知区域的函数值,预测的点在已有数据范围内就是interpolation(插值), 范围外就是extrapolation(外推). The Difference Bet ...
- 实时跟踪之TRACA
背景: 目前,在实时跟踪领域存在着越来越多的先进方法,同时也极大地促进了该领域的发展.主要有两种不同的基于深度学习的跟踪方法:1.由在线跟踪器组成,这些跟踪器依赖网络连续的微调来学习目标的变化外观,精 ...
- redis写入性能测试
import timeit import redis def clock(func): def clocked(*args, **kwargs): t0 = timeit.default_timer( ...
- web开发:jquery之DOM
一.文档结构 二.文档操作 三.文档操作案例 四.form表单 五.正则 六.form案例 一.文档结构 ```jsvar $sup = $('.sup');console.log($sup.chil ...
- 2.03_Python网络爬虫Http和Https
一:HTTP和HTTPS HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法,以明文的形式传输,效率高,但是不安全 HTTPS ...
- python 中的GIL (全局解释器锁)详解
1.GIL是什么? GIL全称Global Interpreter Lock,即全局解释器锁. 作用就是,限制多线程同时执行,保证同一时间内只有一个线程在执行. GIL并不是Python的特性,它是在 ...