按嵌套数组中的值查找和删除数组中的对象
Find and remove object in array by value in nested array
我有一个具有以下结构的数组:
var questions = [
{"answerswer":
["A1", "A2", "A3"]
},
{"answerswer":
["B1"]
},
{"answerswer":
["C1", "C2"]
}
]
我还有一个对象数组,如下所示:
var answers = [
{"value": "A1"},
{"value": "A512"},
{"value": ""},
{}
];
对于answers
中的每个对象(如果不是{}
),我想查找相应的值是否出现在questions
中的某个对象中。如果是这样,我想更新一个counter
变量并从questions
中删除该对象。我如何实现这一点?
像这样尝试
var questions = [{
"answerswer": ["A1", "A2", "A3"]
}, {
"answerswer": ["B1"]
}, {
"answerswer": ["C1", "C2"]
}];
var count = 0;
answers.forEach(function(ans) {
var flag = isExists(ans.value);
flag && count++;
});
console.log(count);
function isExists(value) {
return questions.some(function(ques) {
var ind = ques.answer.indexOf(value);
if (ind > -1) {
ques.answer.splice(ind, 1);
return true;
}
});
}
相关文章:
- 从组件状态的数组中删除元素
- Mongoose-在更新中删除数组元素
- 从数组中删除元素的最佳方法是:javascript/jquery
- 添加和删除隐藏字段数组中的值,而不提交表单
- 从数组中删除重复条目,并在javascript中按顺序排列
- 一些元素没有从数组中删除
- 删除JS数组中的最小数字
- 从数组中删除三元组项
- 删除重复的数组值,然后存储它们[反应]
- 在特定索引处剥离/删除数组中的值
- 数组删除重复结果Javascript
- 字符串替换或通过数组删除
- js中的对象数组:删除重复项
- KnockoutJS.Mapping.FromJS-可观察数组-删除不起作用
- 用于垃圾收集的Javascript数组删除
- 为什么”——数组.删除数组的最后一个元素
- PHP循环通过脚本数组&删除项目
- 谷歌地图API:试图使用数组删除多个标记
- 带有for循环+条件的Javascript数组删除不必要的元素
- 在JavaScript中管理像ArrayList这样的数组:删除一个元素并关闭创建的间隙