zoukankan      html  css  js  c++  java
  • JavaScript根据某个特定的值删除数组中的指定元素

    在项目中,我们经常需要根据某个特定的值删除数组中的元素,怎么删除呢?

    我们可以用到splice()这个方法

    ----- splice的定义引用于http://www.w3school.com.cn/jsref/jsref_splice.asp

    1.简单的一维数组

    var arr = [ a, b, c, d, f……]

    如上数组,想要删除b这个元素的方法:

    function delItem(item, list) {
       // 表示先获取这个元素的下标,然后从这个下标开始计算,删除长度为1的元素
       list.splice(list.indexOf(item), 1)
    }
    // 可以将‘b’和数组arr作为参数传递给函数delItem
    // 调用
    delItem(b, arr);
    // 返回的数组为:
    arr = [a, c, d, f……]

    2.包含键值对的数组:

    var arrayJson= [
      {
        "id": "1",
        "name": "jack",
        "age": "24"
      },
      {
        "id": "2",
        "name": "mack",
        "age": "25"
      },
      {
        "id": "3",
        "name": "peak",
        "age": "26"
      }
    ]

    这种数组根据某个值删除的话,想要根据一个独一无二的值(除非,你想删除比如age都为24的元素也可以),比如每个元素都不重复的id

    function deleteItem (item, list) {
      // 先遍历list里面的每一个元素,对比item与每个元素的id是否相等,再利用splice的方法删除
      for (var key in fileList) {
        if (list[key].id === item) {
          list.splice(key, 1)
        }
      }
    }
    // 例子,我想删除数组中id为2的元素
    deleteItem(2, arrayJson);
    // 即可删除arrayJson中id为2的元素

     玩玩儿,嘿嘿

  • 相关阅读:
    Flink实时数仓(数据可视化)
    Hive调优
    面试(涉及技术一)
    启动Flink的yarnsession模式出错
    面试(涉及技术二)
    Filnk实时数仓(DWS层)
    Filnk实时数仓(Clickhouse)
    Filnk实时数仓(Prometheus监控)
    Filnk实时数仓(DWM层)
    Centos7下杀毒软件clamav的安装和使用
  • 原文地址:https://www.cnblogs.com/yuanxinru321/p/10825180.html
Copyright © 2011-2022 走看看