【发布时间】:2018-03-05 19:31:17
【问题描述】:
我正在学校的一个项目中创建高级搜索。我对 JavaScript 很陌生,所以这可能是一个简单的问题,但非常感谢每一个建议或解决方案。
我们得到了一个 JSON 数组,它总共包含 15 个对象,每个对象包含相同的键但具有不同的值。
它设置在具有不同按钮的网站上,用户可以检查这些按钮以根据他们的要求显示结果。
假设我有一个包含 3 个对象的数组:
var jsonArray = '[
{"gm": "0", "la":"1", "wh":"1", "place":"somePlace1"},
{"gm":"1", "la":"0", "wh":"1", "place":"somePlace2"},
{"gm":"0", "la":"1", "wh":"0", "place":"somePlace3"}
]';
jsonArray 已经被解析和排序了。
我们还被要求创建一个代表用户需求的对象。
所以如果用户点击网站上的“la”和“wh”按钮,就会创建一个对象;
var newObject = {la:1, wh:1};
这将只给出数组中的第一个元素。
这就是我真正做到的程度。我已经尝试了与其他类似问题不同的解决方案,但无法完全弄清楚。
如何比较 newObject 和 jsonArray 以创建一个新的/或使用包含这些值的对象更新当前数组?在其他键上,值是什么并不重要,只要 jsonArray 和 newObject 之间的键和值匹配即可。
另外值得注意的是,我们不允许使用 jQuery 或 JavaScript 以外的任何东西。
【问题讨论】:
-
a) 目前还不清楚您需要解决什么问题。 b)我没有看到任何与您试图解决任何问题相关的代码。投反对票。
-
将
{la: 1, ...}与{la: "1", ...}匹配起来比必要的困难,它们是数字还是字符串? -
不过,正如@connexo 所说,我们需要看看你的尝试。
标签: javascript arrays json