js删除数组中指定元素的几种方式

目录
  • 一、删除第一个元素
  • 二、删除最后一个元素
  • 三、删除数组中某个指定下标的元素
  • 四、删除数组中某个指定元素
  • 总结

js删除数组中某一项或几项的几种方法

一、删除第一个元素

1、shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

注意: 此方法改变数组的长度!

提示: 移除数组末尾的元素可以使用 pop() 方法。

let arr = [1,2,3,4,5]
arr.shift()  // 1
// arr => [2,3,4,5]

2、slice() 方法可从已有的数组中返回选定的元素。

slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

注意: slice() 方法不会改变原始数组。

let arr = [1,2,3,4,5]
let newArr = arr.slice(1)
// arr => [1,2,3,4,5]
// newArr => [2,3,4,5]

3、splice() 方法用于添加或删除数组中的元素。

注意:这种方法会改变原始数组。

返回值

如果删除一个元素,则返回一个元素的数组。 如果未删除任何元素,则返回空数组。

let arr = [1,2,3,4,5]
let newArr = arr.splice(0, 1)
// arr => [2,3,4,5]
// newArr => [1]

二、删除最后一个元素

1、pop() 方法用于删除数组的最后一个元素并返回删除的元素。

注意:此方法改变数组的长度!

提示: 移除数组第一个元素,请使用 shift() 方法。

let arr = [1,2,3,4,5]
arr.pop() //  5
// arr => [1,2,3,4]

2、slice() 方法

let arr = [1,2,3,4,5]
let newArr = arr.slice(0, arr.length - 1)
// arr => [1,2,3,4,5]
// newArr => [1,2,3,4]

3、 splice() 方法用于添加或删除数组中的元素。

let arr = [1,2,3,4,5]
let newArr = arr.splice(arr.length - 1, 1)
// arr => [1,2,3,4]
// newArr => [5]

三、删除数组中某个指定下标的元素

1、splice 删除

let index = 3
let arr = [1,2,3,4,5]
 arr.splice(index, 1) // [4]
// arr => [1,2,3,5]

2、for循环删除

let index = 3, // 删除的id
    arr = [1,2,3,4,5],
    arrLen = arr.length,
    newArr = [];

for (let i = 0; i < arrLen; i++) {
    if (i !== index) {
        newArr.push(arr[i])
    }
}

// arr => [1,2,3,4,5]
// newArr => [1,2,3,5]

3、delete删除

JavaScript提供了一个delete关键字用来删除(清除)数组元素。

要注意的是,使用delete删除元素之后数组长度不变,只是被删除元素被置为empty了。

let index = 3
let arr = [1,2,3,4,5]
delete arr[index]
// arr  = > [1, 2, 3, empty, 5]

四、删除数组中某个指定元素

1、splice 删除

let value = 'b',
    arr = ['a','b','c','d']

arr.splice(arr.indexOf(value), 1) // ['b']
// arr => ['a','c','d']

2、filter 删除

var arr = ['a','b','c','d'],
    value = 'b'

arr = arr.filter(item => item != value)
// arr => ['a','c','d']

3、for 删除

let value = 'b',
    arr = ['a','b','c','d'],
    arrLen = arr.length,
    newArr = []

for (let i = 0; i < arrLen; i++) {
    if (arr[i] !== value) {
        newArr.push(arr[i])
    }
}

// 其他forEach、map、for of循环同理

4、Set 删除

let arr = ['a','b','c','d'],
    value = 'b'
let newSet = new Set(arr)
newSet.delete(value)
let newArr = [...newSet]
// newArr => ['a','c','d']

总结

到此这篇关于js删除数组中指定元素的文章就介绍到这了,更多相关js删除数组指定元素内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • JS删除数组里的某个元素方法

    删除数组指定的某个元素 首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Array.prototype.indexOf = function(val) { for (var i = 0; i < this.length; i++) { if (this[i] == val) return i; } return -1; }; 然后使用通过得到这个元素的索引,使用js数组自己固有的函数去删除这个元素: 代码为: Array.prototype.remove

  • JS实现对json对象排序并删除id相同项功能示例

    本文实例讲述了JS实现对json对象排序并删除id相同项功能.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>www.jb51.net json排序并删除ID相同项</title> </head> <body> <script type="text/javascript&

  • js删除Array数组中指定元素的两种方法

    本节内容: js删除Array数组中指定元素 方法一, /* * 方法:Array.remove(dx) 通过遍历,重构数组 * 功能:删除数组元素. * 参数:dx删除元素的下标. */ Array.prototype.remove=function(dx) { if(isNaN(dx)||dx>this.length){return false;} for(var i=0,n=0;i<this.length;i++) { if(this[i]!=this[dx]) { this[n++]=

  • 利用js查找数组中指定元素并返回该元素的所有索引示例

    前言 这篇文章主要给大家介绍的是利用js查找数组中指定元素并返回该元素的所有索引的相关资料,文中给出了详细的示例代码,下面话不多说,来看看详细的代码示例吧. 示例代码 //在数组中查找所有出现的x,并返回一个包含匹配索引的数组 function findall(a,x){ var results=[], len=a.length, pos=0; while(pos<len){ pos=a.indexOf(x,pos); if(pos===-1){//未找到就退出循环完成搜索 break; } r

  • js删除数组中的元素delete和splice的区别详解

    例如有一个数组是 :var textArr = ['a','b','c','d']; 这时我想删除这个数组中的b元素: 方法一:delete 删除数组 delete textArr[1]  结果为: ["a",undefined,"c","d"] 只是被删除的元素变成了 undefined 其他的元素的键值还是不变. 方法二:aplice 删除数组 splice(index,len,[item]) 注释:该方法会改变原始数组. index:数组开

  • 基于JavaScript实现移除(删除)数组中指定元素

    在Array对象中有给定的函数可以删除数组中指定的元素,虽然非常好用,但是总感觉看不到摸不着的比较别扭,下面就分享一个自定义的删除数组指定索引值元素的函数,希望给大家一个全新的思路. 代码实例如下: var array=[]; array[0]="我们一"; array[1]="我们二"; array[2]="我们三"; array[3]="我们四"; array[4]="我们五"; function re

  • Javscript删除数组中指定元素并返回新数组

    把数组中某个值删除,并返回新数组,需要遍历旧数组找到要删除的元素 复制代码 代码如下: /* * 删除数组中指定值 */ Array.prototype.remove=function(value){ var len = this.length; for(var i=0,n=0;i<len;i++){//把出了要删除的元素赋值给新数组 if(this[i]!=value){ this[n++]=this[i]; }else{ console.log(i);//测试所用 } } this.leng

  • PHP删除数组中特定元素的两种方法

    方法一: 复制代码 代码如下: <?php$arr1 = array(1,3, 5,7,8);$key = array_search(3, $arr1); if ($key !== false)    array_splice($arr1, $key, 1);var_dump($arr1);?> 输出:array(4) { [0]=> int(1) [1]=> int(5) [2]=> int(7) [3]=> int(8) } 方法二: 复制代码 代码如下: <

  • 详解js删除数组中的指定元素

    本篇文章将会给大家介绍两种删除数组中的指定元素的方式,分别为: 1.单独定义一个的函数,通过函数来删除指定数组元素. 2.为Array对象定义了一个removeByValue的方法,在调用方法来删除指定数组元素,调用非常简单的. 下面我们通过简单的代码示例来简单介绍这两种删除数组指定元素的方式. 1.定义单独的函数removeByValue来进行元素删除 代码示例:删除数组somearray里的"tue"元素 <!DOCTYPE html> <html> <

  • 根据key删除数组中指定的元素实现方法

    php数组中元素的存在方式是以键值对的方式('key'=>'value'),有时候我们需要根据键删除数组中指定的某个元素. function bykey_reitem($arr, $key){ if(!array_key_exists($key, $arr)){ return $arr; } $keys = array_keys($arr); $index = array_search($key, $keys); if($index !== FALSE){ array_splice($arr,

  • JS实现根据指定值删除数组中的元素操作示例

    本文实例讲述了JS实现根据指定值删除数组中的元素操作.分享给大家供大家参考,具体如下: 解决问题: 1 .JS判断元素是否在数组内 2. JS根据指定值删除数组中的元素 要点:相当于jquery 的 $.inArray() 这个方法 原生js 如果想删除数组,有一个函数 splice()   ~~ 删除元素,并向数组添加新元素. 这个货 是根据数组内的下标 也就是索引来 删除元素的比如: var arrList = ['a','b','c','d']; arrList.splice(2,1);

  • PHP根据key删除数组中指定的元素

    php数组中元素的存在方式是以键值对的方式('key'=>'value'),有时候我们需要根据键删除数组中指定的某个元素. function bykey_reitem($arr, $key){ if(!array_key_exists($key, $arr)){ return $arr; } $keys = array_keys($arr); $index = array_search($key, $keys); if($index !== FALSE){ array_splice($arr,

随机推荐