使用splice删除数据之坑

背景

服务端返回了一个枚举值

let optionsList =[
    {
        "key": "click",
        "value": "click",
        "label": "点击",
    },
    {
        "key": "sendkeys",
        "value": "sendkeys",
        "label": "输入",
    },
]
for (let i = 0; i < optionsList.length; i++) {
          // 不能调整删除顺序,否则将会删除失败
          if (optionsList[i].key === 'click') {
            optionsList.splice(i, 1)
          }
          if (optionsList[i].key === 'sendkeys') {
            optionsList.splice(i, 1)
          }
        }

上面👆🏻这种情况下可以成功将两个值都删除

let optionsList =[
    {
        "key": "click",
        "value": "click",
        "label": "点击",
    },
    {
        "key": "sendkeys",
        "value": "sendkeys",
        "label": "输入",
    },
]
for (let i = 0; i < optionsList.length; i++) {
          // 不能调整删除顺序,否则将会删除失败
          if (optionsList[i].key === 'sendkeys') {
            optionsList.splice(i, 1)
          }
          if (optionsList[i].key === 'click') {
            optionsList.splice(i, 1)
          }
        }

上面👆🏻这种情况下只能删除其中一个值

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容