【问题标题】:how to compare JSON data with array localy如何在本地将 JSON 数据与数组进行比较
【发布时间】:2018-11-17 13:59:13
【问题描述】:

我的脚本中有一些对象:

var data =
[
            {
            "name":"United Kingdom",
            "countryCode":"GB",
            "urlCode":"en-gb",
            "standardPrice":"30"
        },{
            "name":"Germany",
            "countryCode":"DE",
            "urlCode":"de-de",
            "standardPrice":"22"
        }

];

我想将“urlCode”与我已经拥有的数组进行比较,可以说它称为 array1

我想访问上面的这些数据并将其与我的数组进行比较,如果该数组与数据中的 urlCode 匹配,则显示匹配的数据中的所有对象。

【问题讨论】:

  • 到目前为止你尝试了什么?

标签: javascript json


【解决方案1】:

尝试以下方法:

var data =
[
            {
            "name":"United Kingdom",
            "countryCode":"GB",
            "urlCode":"en-gb",
            "standardPrice":"30"
        },{
            "name":"Germany",
            "countryCode":"DE",
            "urlCode":"de-de",
            "standardPrice":"22"
        }

];
var arr =["de-de"];
data.forEach((o) =>{
  if(arr.includes(o.urlCode))
    console.log(o);
});

【讨论】:

  • 如果你将传递 data[0 它将始终返回第一个对象。请尝试以下操作: var index = data.findIndex((o) => arr.includes(o.urlCode)); document.getElementById('output').innerHTML = '
    ' + data[index].standardPrice + '
    '
【解决方案2】:

您可以按以下方式逐个元素进行比较:

your_array = ['en-gb','de-de']
data = [
            {
            "name":"United Kingdom",
            "countryCode":"GB",
            "urlCode":"en-gb",
            "standardPrice":"30"
        },{
            "name":"Germany",
            "countryCode":"DE",
            "urlCode":"de-de",
            "standardPrice":"22"
        }
];
isEqual = True
for i in range(0,len(data)):
    if  data[i]['urlCode'] != your_array[i]:
        isEqual = False
        break
print isEqual

【讨论】:

  • 这甚至不是正确的语言,OP 要求 Javascript 解决方案。
  • 一开始就要求PYTHON
  • 哦,好吧,我会尽可能取消我的反对票,抱歉,但解决方案仍然没用。
  • 它说您需要编辑,然后我才能更改投票,如果您添加免责声明您正在回答原始问题
  • 即使在原题的编辑历史中,也没有提到python。我不确定你在哪里看到的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多