添加/删除对象属性和删除null
Adding/deleting object properties and removing null
我试图记住在自定义插件中打开手风琴。默认情况下,第一个手风琴是打开的,因此:
var active = [0];
我点击手风琴,然后从localStorage
读取以获得值。在我的点击事件中:
var active = JSON.parse(localStorage.getItem(outerName)),
tab = $(this).find('h3').index(ui.tab[0]);
if (tab in active) {
delete active[tab];
} else {
active[tab] = tab;
}
for (var i = 0; i < this.length; i++) {
if (active[i] == null) {
active.splice(i, 1);
i--;
}
}
localStorage.setItem(outerName, JSON.stringify(active));
这工作,除了我删除第一个手风琴,然后单击第二个,我将得到重复的值[1,1]
。我已经删除了空值,所以这就是原因,但我不知道如何获得正确的值,以便如果我切换一个手风琴,它将从对象中删除。
[0,3]
=手风琴1和4是打开的
[0,1]
= Accordion 1和2是打开的
Ok,所以我修补了我的插件,只从活动字符串中获取数字,但我也修改了我的对象,因为它被打破了:
if (tab in active && active[tab] !== null) {
delete active[tab];
} else {
active[tab] = tab;
}
我得到[null,1,null],所以现在我覆盖null,只是用值[0,1,null]替换它,只有0和1是由插件读取。
SO这么快就回答了我的问题!相关文章:
- 删除'为Null'和'不为Null'来自Kendo Filters
- 类型错误:无法读取属性'行'使用javascript删除行时为null
- 如何删除此JavaScript null错误
- 当请求时,我如何从文本区域删除null.GetAttribute为null,以及如何从servlet修改标签的可见性
- 如何从javascript对象中删除null值
- 如何删除javascript中的节点,而不需要父节点为null
- 如何删除“;NULL”;使用Javascript从sails.js中的JSON对象中提取字符串
- 从JSON数组中删除行将留下'null'
- setVisible(false)删除标记,但不删除setMap(null)
- 从JavaScript对象中递归删除null值
- 我在哪里删除forEach循环/函数中的null元素
- IE9无法获取属性'删除'的未定义引用或null引用
- 删除、忽略或阻止IE中字符串中的null字符
- 从JSON对象中删除jQuery和null对象
- 删除属性或将其设置为null
- 正在删除值为NULL的cookie
- jQuery IF语句,它查找所有具有null值的输入并删除相应的元素
- 只有当数据为数字或null时,才会触发删除GridView中的行时使用数据进行确认
- Knockout, collection属性变为null,当我尝试从其中删除一个项目时,如果其中有多个项目
- 添加/删除对象属性和删除null