arrays - 如何最好地将 JSON 对象值与 JScript 中的固定数组进行比较
问题描述
我想将 JSON 值与一组值进行比较,但我不知道最好的情况是什么。
我得到了一个带有预期值的 JSON 对象(可能有 1 个值、2 个或更多)一个来自数据库。前任:
我的 JSON 变量是:
var expValues = {
"id": "123",
"age": 23
};
我的数据库会将一些值推送到对象数组。
前任:
if ((rs.BOF) && (rs.EOF))
{
//nothing found;
}
else
{
while (!rs.EOF)
{
aDetails.push(
{
"id": rs.fields("id").Value,
"name": rs.fields("name").Value,
"age": rs.fields("age").Value,
"sex": rs.fields("sex").Value,
"hobby": rs.fields("hobby").Value
});
rs.MoveNext();
}
}
rs.close;
//Close connection then return
return aDetails;
基本上我想确保来自 JSON 的值与来自 DB 的正确值相匹配。(例如 ID)。
解决方案
我假设aDetails
有类似下面的数据。
let aDetails = [{
"id": "123",
"name": "as",
"age": 23,
"sex": "m",
"hobby": "abc"
}, {
"id": "1234",
"name": "as1",
"age": 23,
"sex": "m",
"hobby": "abc"
}, {
"id": "12",
"name": "as2",
"age": 23,
"sex": "m",
"hobby": "abc"
}]
var expValues = {
"id": "123",
"age": 23
};
function isObjectMatched(obj) {
return aDetails.some(d => Object.entries(obj).every(([k, v]) => d[k] == v))
}
console.log(isObjectMatched(expValues))
推荐阅读
- azure - 授权:Bearer + Token 发行
- networking - 无法解析 Kubernetes (GKE) 内部查找
- angular - 使用 ComponentFactory angular 6 在表格行中动态添加组件
- bash - 如何从 bash 中的 JSON 解析数据中正确删除新行
- c# - Unity中第一人称控制器代码产生的问题
- php - 关于两个多个下拉列表的问题
- nhibernate - 有没有办法从 IQueryable 中设置 SQL 注释?
- c++ - 修复后向 array.size() unsigned int
- node.js - 如何在 nodejs 中运行 tmux cmds
- excel - 使用两个文本框过滤列表框