opop()
oshift()
osplice()
oslice()
1、pop()
pop() 方法用于删除数组的最后一项,同时减少数组的length 值,返回被删除的项
let colors = ["red", "green"]
let item = colors.pop()// 取得最后一项
console.log(item) // green
console.log(colors.length) // 1
2、shift()
shift()方法用于删除数组的第一项,同时减少数组的length 值,返回被删除的项
let colors = ["red", "green"]
let item = colors.shift()// 取得第一项
console.log(item) // red
console.log(colors.length) // 1
3、splice()
传入两个参数,分别是开始位置,删除元素的数量,返回包含删除元素的数组
let colors = ["red", "green", "blue"]
let removed = colors.splice(0,1)// 删除第一项
console.log(colors)// green,blue
console.log(removed)// red,只有一个元素的数组
4、slice()
slice() 用于创建一个包含原有数组中一个或多个元素的新数组,不会影响原始数组
let colors = ["red", "green", "blue", "yellow", "purple"]
let colors2 = colors.slice(1)
let colors3 = colors.slice(1, 4)
console.log(colors) // red,green,blue,yellow,purple
concole.log(colors2)// green,blue,yellow,purple
concole.log(colors3)// green,blue,yellow
参考
js在循环遍历数组中删除指定元素踩坑( foreach.. for.. for..in.. )
JS-数组遍历中删除元素的方法优化
第一次forEach循环,arr是[1, 1, 2],index是0,item是1,if条件成立, 使用splice删除了item1,arr变成[1, 2]
第二次forEach循环,arr是[1, 2],index是1,item是2,if条件不成立,使用splice无法删除了第二个重复的1
出现问题的原因就是splice删除当前数据时,导致后面的数据前移,最直接的解决办法就是i也跟着前移即可。
注意,此时使用For in遍历是不行的
原因是迭代器的i,每次都重新取值了,i--失效。
测试结果说明可以安全删除
删除步骤如下:
ar arr = [ 1, 2, 3, 4, 5 ]
//原始数组
alert("原始数组:" + arr)// 1,2,3,4,5
//删除并且返回第一个元素
注:重复以上步骤即可
一、JavaScript
简称为js,一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型;
它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能;
在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。
二、js表达式:
表达式是指将常量、变量、函数、运算符和括号连接而成的式子;
根据运算结果的不同,表达式可分为算术表达式、字符表达式、和逻辑表达式。