首页 > 编程语言 >JavaScript:数组删除指定元素

JavaScript:数组删除指定元素

时间:2023-04-04 14:45:20浏览次数:45  
标签:arr 元素 删除 newArr JavaScript let 数组

1.shift()方法

用于删除数组中的第一个元素。

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

let arr = [1,2,3]
arr.shift() // 删除1
// arr为[2,3]

2.pop()方法

用于删除数组中最后一个元素

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

let arr = [1,2,3]
arr.pop(); //删除3
// arr为[1,2]

3.splice()方法

用于添加删除数组中的指定元素

注:此方法会改变数组长度

let arr = [1,2,3]
arr.splice(0,1)
// arr为[2,3]

//删除数组中某个指定元素
let value = 'b', arr=['a','b','c','d']
arr.splice(arr.indexOf(value), 1) //删除'b'
// arr为['a','c','d']

4.slice()方法

从已有数组中返回选定的元素

注:此方法不会改变原始数组

let arr = [1,2,3]
let newArr = arr.slice(1)
// arr为[1,2,3]
// newArr为[2,3]

5.for循环删除

比较麻烦,不推荐

let index = 3,
    arr = [1,2,3,4],
    newArr = [];
for(let i = 0;i < arr.length; i++) {
      if(i !== index) {
          newArr.push(arr[i])                
    }      
}    
// arr为[1,2,3,4]
// newArr为[1,2,3]

6.delete关键字删除

用于删除(数组)元素

注:delete关键字删除元素后数组长度不变,只是删除元素被置为empty了

let arr = [1,2,3,4]
delete arr[2]
// arr为[1,2,empty,4]

7.filter删除

用于删除指定元素

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

8.set删除

用于删除指定元素

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

标签:arr,元素,删除,newArr,JavaScript,let,数组
From: https://www.cnblogs.com/wyl-k/p/17286364.html

相关文章

  • 为什么 JavaScript 中 0.1 0.2 不等于 0.3 ?
    vivo互联网技术微信公众号 作者:刘洋在js中进行数学的运算时,会出现0.1+0.2=0.300000000000000004的结果,一开始认为是浮点数的二进制存储导致的精度问题,但这似乎不能很好的解释为什么在同样的存储方式下0.3+0.4=0.7可以得到正确的结果。本文主要通过浮点数的二进制存储及运算,和......
  • 力扣-数组-滑动窗口
    题目顺序209长度最小的子数组,904水果成篮解题思路1.滑动窗口求解的题目中,关键词为”求解连续“2.暴力解法是双重for循环,相当于对滑动窗口的起始和终止点都遍历3.滑动窗口求解是,只遍历终止点,当sum符合条件时,start++,向前一步缩小窗口4.终止条件是终止点end遍历完  1c......
  • 阿里巴巴为什么这样强制从List中删除元素
    阿里巴巴为什么这样强制从List中删除元素 还是先举个例子,你侄女对天文知识感兴趣,然后你就用程序写了太阳系九大星系(水星、金星、地球、火星、木星、土星、天王星、海王星、冥王星)的运行轨迹图,然后拿给侄女看。然后她说错了错了,你的知识太旧了,多了一颗星。根据2006年8月24日国......
  • c# list删除元素
    新建一个集合:删除其中一个元素List<String>tempList=newList<string>{"水星","金星","地球","火星","木星","土星","天王星","海王星","冥王星","冥王星"};tempList.Remove("冥王星&qu......
  • Mac - 查找并删除大文件(其他项占用过多解决方案)
    Mac存储空间中「其他」项占用非常大,通过工具来查看文件并清除大文件。工具名称:OmniDiskSweeper官网下载地址OSX里面的Other就是所有其他的文件。所有的文档,包括.pdf.doc.psd所有的压缩文件和磁盘映像包括.zip.dmg.iso所有的用户数据所有的系统文件包括Sy......
  • js 递归遍历树形结构数据,返回新的数组
    工作中,我们经常会遇到这样的情况:后端返回的数组,只需要取name、value生成新的数组,或者是将某个属性名修改,生成新的数组。递归是一种常见的解决问题的方法,即把问题逐渐简单化。“递归”的基本思想是:自己调用自己。实例如下handleDg(arrs,that){arrs.map((item,index)......
  • 动态数组简介
                        动态数组定义:动态数组是指在声明时没有确定数组大小的数组,即忽略圆括号中的下标;当要用它时,可随时用ReDim语句重新指出数组的大小。使用动态数组的优点是可以根据用户需要,有效利用存储空间。特点数组到底应该有多大才......
  • 最长连续序列(并查集、数组)、复原 IP 地址(字符串、回溯)、删除链表的倒数第 N 个结
    最长连续序列(并查集、数组)给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)__的算法解决此问题。示例1:输入:nums=[100,4,200,1,3,2]输出:4解释:最长数字连续序列是[1,2,3,4]。它的长度为4......
  • 最小覆盖子串(哈希表、字符串)、两数之和(数组、哈希表)、二叉树的层序遍历 II(树、广
    最小覆盖子串(哈希表、字符串)给你一个字符串s、一个字符串t。返回s中涵盖t所有字符的最小子串。如果s中不存在涵盖t所有字符的子串,则返回空字符串""。**注意:**如果s中存在这样的子串,我们保证它是唯一的答案。示例1:输入:s="ADOBECODEBANC",t="ABC"输出:"B......
  • 恢复出厂设置时删除手机上所有联系人
    修改nvram_common_config.c中相应phonebook的nv项的属性即可,将NVRAM_ATTR_FACTORY_RESET添加到对应nv项属性中。相关的NV项及说明如下:NVRAM_EF_PHB_LN_ENTRY_LID:calllog相关的信息NVRAM_EF_PHB_LID:手机中的联系人信息NVRAM_EF_PHB_GROUP_INFO_LID......