javascript - 如何检查来自两个json数据的比较数据?

标签 javascript html vue.js vue-component vue-router

我用于显示特定帖子详细信息的 json 数据是

http://127.0.0.1:8000/listings/

{"data": {"pid": 109, "name": "Labs", "website": "service.com",  "status": true}

我的完整个人资料详细信息的 json 数据是

http://127.0.0.1:8000/profile/

{"status": true, "data": {"basic": {"name": "Kuis", "is_new": false, "is_email_verified": false, "is_phone_verified": false}, "listings": [{"pid": 109, "nams": "Labs","created_at": "2018-02-14", "validity": "2019-06-29", "views": 2, "gstno": "09485481072", "is_featured": false },{"pid": 112, "nams": "Labs12","created_at": "2018-02-15", "validity": "2019-06-29", "views": 2, "gstno": "09499481072", "is_featured": false }], "total_listings": 2}}

所以,现在我提供了一个编辑选项。所以,我需要检查配置文件数据中是否存在 pid?我怎样才能实现同样的目标?

我的vue js代码是

mounted() {
    var self = this;
    data = {};
    data['auth-token'] = this.authType;
    $.ajax({
        url: "http://127.0.0.1:8000/profile/",
        data: data,
        type: "POST",
        dataType: 'json',
        success: function (e) {
            if (e.status == 1) {
                self.listings = e.data.listings;
            }
        },
    });
    data = {};
    data['auth-token'] = this.authType;
    data['pid'] = this.pid;
    $.ajax({
        url: "http://127.0.0.1:8000/listings/",
        data: data,
        type: "POST",
        dataType: 'json',
        success: function (e) {
            if (e.status == 1) {
                self.data = e.data;
            }
        },
    });
},

我在 data[] 中有列表数据,在 listings[] 中有配置文件中的所有列表数据。

我需要比较 data[] 中的 pid 是否存在于 listings[] 中。

我需要在 HTML 端实现以下内容

<div if="data.pid == listings.pid"> Success </div> <div v-else> Failure</div>

我是初学者,只知道基础知识。请帮助我找到解决方案。

最佳答案

由于列表是一个数组而不是一个对象,因此您需要使用索引对其进行循环:

function checkOccurence(data, listing) {
  let dataFound = false;
  for(let i = 0; i < listing.length; i++) {
    if (listing[i].pid === data.pid) {
      dataFound = true;
      break;
    }
  }

  return dataFound;
};

然后你可以使用返回的boolean在你的渲染中确定 successfailure像这样:

<div if="checkOccurence(data, listing)"> Success </div> <div v-else>Failure</div>

关于javascript - 如何检查来自两个json数据的比较数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48822199/

相关文章:

javascript - 将计算结果放入另一个数组中

javascript - 当数据类型为数字时,如何对谷歌图X轴进行排序

html - Calc() 函数在 Wordpress 中不起作用

Html::img 标签在 yii2 中不起作用

vue.js - 在另一个仓库中导入 vue-cli 应用程序时出错

javascript - 如何在 JavaScript 中对使用逗号分隔的数字 _and_ 符号的字符串数组进行最佳排序

javascript - 你能柯里化(Currying)一个只有一个参数的函数吗?

javascript - 将 Controller 添加到 AngularJS 中动态构造的 div

node.js - 如何处理 Node/Vue 应用程序中的大量重定向?

vue.js - VueJS Router - 使用子路由和 Vuetify 时如何停止多个事件路由?