js
JS如何移除数组中的某个元素
数组是最常用的数据结构。Javascript 的 Array 数组是一个级别高、类似列表的全局对象。在 js 中,数组的长度和数据类型都是不固定的。js 的数组索引只能使用数字,不能使用字母。
数组是最常用的数据结构。Javascript 的 Array 数组是一个级别高、类似列表的全局对象。在 js 中,数组的长度和数据类型都是不固定的。js 的数组索引只能使用数字,不能使用字母。创建一个数组如下:
let fruits = ['apple', 'banana' ]
console.log(fruits.lenght)
// 2
将元素推入数组中:
fruits.push('orange')
// ['apple', 'banana', 'orange']
那么 js 中如何移除数组中的某个特定元素呢?比如我们想要将 fruits
数组中的 banana
去掉。我们应该如何操作呢?
js 通过找到元素的索引来删除该元素
通过 indexOf 函数找到所要删除的元素,然后使用 splice
删除即可。具体代码如下:
let fruits = ['apple', 'banana' ]
console.log(fruits.lenght)
fruits.push('orange')
// remove banana
let index = fruits.indexOf('banana')
if (index > -1) {
fruits.splice(index, 1)
}
consolo.log(fruits)
// ['apple', 'orange']
splice 的第二个参数指的是需要删除的元素数据。需要注意的是,splice 会修改原数组,并且返回一个包含被删除元素的新数组。
js 通过 filter 函数删除数组中的特定元素
我们还可以使用 array.filter(…) 函数来删除数组中的特定元素。这个函数不会改变原函数,而是会返回一个新的函数。但这个函数需要浏览器支持,像 IE9 以前的浏览器就不支持. 但目前大部分的浏览器都已经支持了。具体代码如下:
var value = 'banana'
var fruits = ['apple', 'banana', 'orange']
fruits = fruits.filter(function(item) {
return item !== value
})
console.log(arr)
// ['apple', 'orange']
ES6 版本
var value = 'banana'
var fruits = ['apple', 'banana', 'orange']
fruits = fruits.filter(item => item !== value)
console.log(arr)
// ['apple', 'orange']