gpt4 book ai didi

javascript - 拼接不会从数组中删除元素

转载 作者:行者123 更新时间:2023-11-30 06:52:05 24 4
gpt4 key购买 nike

<分区>

编辑

嗯,这确实很尴尬。谢谢大家注意到错字,我会删除这个问题,但我不能(因为它有答案)。让它成为一座纪念碑。

我正在尝试编写一个应用程序,给定一个对象和一个数组,从数组中删除对象(如果存在),或将其添加到数组(如果不存在)。

初始数组:

var permissions = [{
id: 3,
name: "Perm3"
}, {
id: 1,
name: "Perm1"
}];

添加\删除函数:

  triggerPermission = function(perm) {
var idx = permissions.indexOfById(perm);
if (idx === -1) {
permissions.push(perm);
} else {
permissions.slice(idx, 1); //should have been SPLICE...
}
};

辅助函数:

 Array.prototype.indexOfById = function(obj) {
var idx = -1;
for (var i = 0; i < this.length; i++) {
if (this[i].id === obj.id) {
idx = i;
break;
}
}
return idx;
};

plunkr上可以看出,我正在尝试在 AngularJS 应用程序中使用它,并将复选框作为触发器。 splice 返回一些权限(但权限数组未更改),有些甚至没有返回。我在这里缺少什么?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com