Javascript删除对象形式字典

Javascript delete object form dictionary

本文关键字:字典 对象 删除 Javascript      更新时间:2023-09-26

我在java脚本中有一个字典,在拖动事件中添加键和文本。

现在,当用户点击这个必须删除密钥,但它不是从字典删除

 var buttonId = {};
 function drag(ev) {
                //buttonId.push(ev.target.id,ev.target.innerText);
                var index = Object.keys(buttonId).length;
                buttonId['[' + index + '].Key'] = ev.target.id;
                buttonId['[' + index + '].Value'] = ev.target.innerText;
            }

删除功能

function Delete(key){
    delete buttonId[key];
    }

spliceMethod也不起作用,我使用的是Jquery 2.0,得到运行时错误Object不支持属性或方法'splice'

        var length = Object.keys(buttonId).length;
        for (var index = 0; index < length; index++) {
            var key = buttonId['[' + index + '].Key'];
            if (key == id) {
                buttonId.splice(index, 1);
            }
        }

您似乎没有按照预期的方式使用Javascript映射。正确的模式是:

buttonId[key] = value;

如果您需要将复杂的数据存储为值,请执行以下操作:

buttonId[key] = {id:ev.target.id, text:ev.target.innerText};

最后它像一样工作

  var length = Object.keys(buttonId).length;
                for (var index = 0; index < length; index++) {
                    var key = buttonId['[' + index + '].Key'];
                    if (key == id) {
                        delete buttonId['[' + index + '].Key'];
                        delete buttonId['[' + index + '].Value'];
                    }
                }