Javascript 查找数组中不存在的值并将其插入到数组中
我有以下数组Javascript 查找数组中不存在的值并将其插入到数组中,javascript,arrays,loops,Javascript,Arrays,Loops,我有以下数组 var array = {"week1":[{"id":1,"name":"x","mark":"20"},{"id":2,"name":"y","mark":"30"}],"week2":[{"id":1,"name":"x","mark":"40"},{"id":2,"name":"y","mark":"60"},{"id":3,"name":"z","mark":"10"}]} 我还有一个学生ID数组,如下所示 var studentId = ["1","2","3"]
var array = {"week1":[{"id":1,"name":"x","mark":"20"},{"id":2,"name":"y","mark":"30"}],"week2":[{"id":1,"name":"x","mark":"40"},{"id":2,"name":"y","mark":"60"},{"id":3,"name":"z","mark":"10"}]}
我还有一个学生ID数组,如下所示
var studentId = ["1","2","3"]
我希望遍历数组,并将缺少的学生ID插入到每周中,并将标记设置为零
var keys = Object.keys(array);
for(var x =0; x<studentId .length; x++)
{
var boolFlag = false;
for(var i=0; i<keys.length;i++)
{
for(var j=0; j=array [keys[i]].length; j++ )
{
if(studentId [x].id == array [keys[i]][j].id)
{
boolFlag = true;
break;
}
}
if(!boolFlag )
{
array [keys[i]].push({id:studentId [x].id, mark:0});
}
}
}
更新
变量数组={
第一周:[
{id:1,name:x,mark:20},
{id:2,name:y,mark:30}
],
第2周:[
{id:1,name:x,mark:40},
{id:2,name:y,mark:60},
{id:3,name:z,mark:10}
]
};
变量studentId=[
{id:1,name:x},
{id:2,name:y},
{id:3,name:z}
]
数组中的forvar周{
学生预测
var weekVal=数组[周];
if!weekVal.filterfunctionst{return st.id==stId.id;}[0]
推送{id:stId.id,名称:stId.name,标记:0};
}
}
console.logarray;将此studentId[x].id更改为studentId[x],这是从数组中获取字符串值的方法。@JyothiBabuAraja很抱歉。我以错误的格式写入了studentId数组。我已经更新了问题
var result = {"week1":[{"id":1,"name":"x","mark":"20"},{"id":2,"name":"y","mark":"30"},{"id":3,"mark":"0"}],"week2":[{"id":1,"name":"x","mark":"40"},{"id":2,"name":"y","mark":"60"},{"id":3,"name":"z","mark":"10"}]}
var studentId = [{id:"1", name:"x"},{id:"2", name:"y"},{id:"3", name:"z"}]