es6 数组怎么移除元素
方法:1、用shift()删除第一个元素,语法“数组.shift()”;2、用pop()删除最后一个元素,语法“数组.pop()”;3、用splice()删除任意位置的元素,语法“数组.splice(位置,个数)”;4、用length删除尾部的N个元素,语法“数组.length=原数组长度-N”;5、直接赋予空数组“[]”来清空元素;6、用delete删除指定下标的一个元素。
本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。
方法1:使用shift()函数删除第一个数组元素
array.shift()函数可以把数组的第一个元素从其中删除,并返回第一个元素的值;然后将余下所有元素前移 1 位,以填补数组头部的空缺。
var a = [1,2,3,4,5,6,7,8]; //定义数组 a.shift(); console.log(a);
输出结果为:
注:shift()方法会改变原数组,修改数组的长度!
方法2:使用pop()删除最后一个数组元素
array.pop()方法可以删除数组 array 中最后一个元素,并返回被删除的元素。
var a = [1,2,3,4,5,6,7,8]; //定义数组 a.pop(); console.log(a)
输出结果为:
注:pop()方法也会改变原数组,修改数组的长度!
方法3:使用 splice() 删除任意位置的元素
使用splice()可以从指定下标位置开始删除一个或多个元素。
删除元素的语法:
array.splice(index,howmany)
第1个参数
index
可以指定起始下标位置(即开始删除元素的位置);第2个参数
howmany
指定应该删除的元素数目(即需要删除的一个或多个元素)。
只需要将第2个参数 howmany
设置为1,即删除任意index位置的一个元素。
我们通过下面的例子来具体看看:
var arr= [1,2,3,4,5]; console.log(arr); arr.splice(1,1); console.log(arr);
利用splice() 方法我们也可以实现在数组开头和末尾删除元素的操作:
如果想要在数组开头删除元素,就设置该方法第1个参数index的值为0即可
var arr= [1,2,3,4,5]; console.log(arr); arr.splice(0,1); console.log(arr);
如果想要在数组末尾删除元素,就设置该方法第1个参数index的值为负数,那么就会按绝对值从数组右侧开始向左侧定位;且第2个参数 howmany的值要 等于 index的值。
var arr= [1,2,3,4,5]; console.log(arr); //从倒数第1个元素开始,截取1个元素 arr.splice(-1,1); console.log(arr);
方法4:利用length属性删除数组元素(甚至清空元素)
数组的length属性一般是用来设置或返回数组中元素的数目,即设置或返回数组长度。
我们可以利用设置数组长度的特性,将length属性的设置的比原长度小,即可从数组尾部删除一个或多个元素;如果值设置为0,就会删除全部数组,即清空数组!
语法:数组对象.length=原数组长度-1;
示例1:
var a = [1,2,3,4,5,6,7,8]; //定义数组 console.log(a) a.length=7; console.log(a)
示例2:
var a = [1,2,3,4,5,6,7,8]; //定义数组 console.log(a) a.length=0; console.log(a)
方法5:直接赋予空数组[]
直接赋予空数组[]
就会将之前的元素全部清空。
var arr=new Array(1,2,3,4,5,6,7,8,9,10); console.log(arr); arr=[]; console.log(arr);
这种方法并不是严格意义的清空数组,只是将arr重新赋值为空数组。
方法6:利用delete运算符删除指定下标的一个元素
我们都知道数组中的每个元素都有一个序号,这个序号从0开始,被称为下标(Index)。根据这个数组下标,我们可以使用 数组名[下标]
的形式来访问指定下标的元素。
访问到指定元素后,就可以利用 delete
运算符 来删除该元素,但数组长度不会发生改变;删除后的该元素会变为空位元素,
var arr=new Array("香蕉","苹果","梨子","橙子","橘子","榴莲"); console.log(arr); delete arr[1]; //删除下标为1的元素(第二个元素) console.log(arr);
空位元素可以读写,length 属性不排斥空位,空元素位返回值为 undefined
console.log(arr[1]);
说明:空元素与元素的值为 undefined 是两个不同的概念,即使空元素的返回值也是 undefined。JavaScript 在初始化数组时,只有真正存储有值得元素才可以分配内存。
【相关推荐:javascript视频教程、web前端】
以上是es6 数组怎么移除元素的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

async是es7的。async和await是ES7中新增内容,是对于异步操作的解决方案;async/await可以说是co模块和生成器函数的语法糖,用更加清晰的语义解决js异步代码。async顾名思义是“异步”的意思,async用于声明一个函数是异步的;async和await有一个严格规定,两者都离不开对方,且await只能写在async函数中。

在ES6中,可以利用数组对象的reverse()方法来实现数组反转,该方法用于颠倒数组中元素的顺序,将最后一个元素放在第一位,而第一个元素放在最后,语法“array.reverse()”。reverse()方法会修改原始数组,如果不想修改需要配合扩展运算符“...”使用,语法“[...array].reverse()”。

步骤:1、将两个数组分别转为set类型,语法“newA=new Set(a);newB=new Set(b);”;2、利用has()和filter()求差集,语法“new Set([...newA].filter(x =>!newB.has(x)))”,差集元素会被包含在一个set集合中返回;3、利用Array.from将集合转为数组类型,语法“Array.from(集合)”。

为了浏览器兼容。ES6作为JS的新规范,加入了很多新的语法和API,但现代浏览器对ES6新特性支持度不高,所以需将ES6代码转为ES5代码。在微信web开发者工具中,会默认使用babel将开发者ES6语法代码转换为三端都能很好支持的ES5的代码,帮助开发者解决环境不同所带来的开发问题;只需要在项目中配置勾选好“ES6转ES5”选项即可。

在es6中,暂时性死区是一个语法错误,是指let和const命令使区块形成封闭的作用域。在代码块内,使用let/const命令声明变量之前,该变量都是不可用的,在变量声明之前属于该变量的“死区”;这在语法上,称为“暂时性死区”。ES6规定暂时性死区和let、const语句不出现变量提升,主要是为了减少运行时错误,防止在变量声明前就使用这个变量,从而导致意料之外的行为。

map是有序的。ES6中的map类型是一种储存着许多键值对的有序列表,其中的键名和对应的值支持所有数据类型;键名的等价性判断是通过调用“Objext.is()”方法来实现的,所以数字5与字符串“5”会被判定为两种类型,可以分别作为两种独立的键出现在程序中。

ES6 import会产生变量提升的现象。变量提升是将变量声明提升到它所在作用域的最开始的部分。js要经历编译跟执行阶段,在编译阶段的时候,会搜集所有的变量声明并且提前声明变量,而其他的语句都不会改变他们的顺序,因此,在编译阶段的时候,第一步就已经执行了,而第二部则是在执行阶段执行到该语句的时候才执行。
