我有一个Project Management app buildt,前端有JavaScript,后端有PHP / MySQL。
我希望有一个数组,其中包含用户订阅通知的所有任务ID。
当我显示任务记录时,我想根据用户是否已订阅来设置订阅按钮的状态。
我还希望能够从用户订阅数组中添加和删除任务委托。
我认为下面这样的事情将是一个良好的开端......
var userTaskSubscriptions = [{
task_id: 1,
subscribed: 'yes'
},
{
task_id: 2,
subscribed: 'yes'
},
{
task_id: 3,
subscribed: 'yes'
}]
在上面的示例中,我需要一些JavaScript代码,以便我可以检查用户是否有上面的任务ID#2的条目,并且在这种情况下他们会有一个。
我还需要代码来添加和删除条目。
这里有任何帮助吗?
答案 0 :(得分:2)
您可以循环播放它(按数组大小)并删除找到匹配项的索引。
function deleteTask(taskId) {
for(var i = 0; i < userTaskSubscriptions.length; i++) {
if(userTaskSubscriptions[i] == taskId) {
userTaskSubscriptions.splice(i, 1);
}
}
}
答案 1 :(得分:0)
请尝试使用此代码:检查task_id是否已经存在 订阅与否,如果是“是”,将从列表中删除并返回 订阅价值'是'。它将使用两个新用户添加到列表中 填充'task_id'并订阅值'是',这是默认值。
var userTaskSubscriptions = [{
task_id: 1,
subscribed: 'yes'
},
{
task_id: 2,
subscribed: 'yes'
},
{
task_id: 3,
subscribed: 'yes'
}];
var subscribe=function(taskId){
var _self=this;
_self.taskId=taskId;
var subscritpiton;
$.each(userTaskSubscriptions,function(index,value){
console.log(userTaskSubscriptions);
if(taskId == value.task_id){
userTaskSubscriptions.splice(index, 1);
subscritpiton=value.subscribed;
return false;
}
else{
userTaskSubscriptions.push({task_id: _self.taskId,subscribed: 'yes'})
return false;
}
})
console.log(userTaskSubscriptions);
return subscritpiton;
};
subscribe(1); //call subscribe method here