数组的增删改操作

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

(一)增加

向末尾增加

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. Python字符串的常用方法总结

    tring.capitalize() 把字符串的第一个字符大写 string.center(width) 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串 , end=len(str ...

  2. vue中的键盘事件

    @keydown(键盘按下时触发),@keypress(键盘按住时触发),@keyup(键盘弹起) 获取按键的键码 e.keyCode @keyup.13     按回车键 @keyup.enter ...

  3. c#OpenCVSharp+Zxing识别条形码

    参考博客:https://www.cnblogs.com/dengxiaojun/p/5278679.html,但是他的demo下载太贵了 可以下载这个https://download.csdn.ne ...

  4. 原生js实现选项卡样式切换的几种方式。

    先分享一个不能实现的实例(因为es5没有块作用域) for(var i=0; i<list.length; i++ ) { list[i].onclick = function(){ tabch ...

  5. js同步和异步

    JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事. JavaScript的单线程,与它的用途有关.作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作 ...

  6. python 中startswith()和endswith() 方法

    startswith()方法 Python startswith() 方法用于检查字符串是否是以指定子字符串开头如果是则返回 True,否则返回 False.如果参数 beg 和 end 指定值,则在 ...

  7. 【python】Logging模块

    1.日志记录级别 logging.debug<logging.info<logging.warning<logging.error<logging.critical 关键是最高 ...

  8. maskrcnn-benchmark错误:ImportError: cannot import name rnn_compat

    错误: from apex import amp File "build/bdist.linux-x86_64/egg/apex/__init__.py", line 5, in ...

  9. JEESZ-SSO解决方案

    提醒:文档只是作为一个基础的参考,愿意了解的朋友可以随时咨询. 第一节:单点登录简介 第一步:了解单点登录 SSO主要特点是: SSO应用之间使用Web协议(如HTTPS),并且只有一个登录入口. S ...

  10. RabbitMQ消息分发轮询

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