我用于显示特定帖子详细信息的 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
在你的渲染中确定 success
或 failure
像这样:
<div if="checkOccurence(data, listing)"> Success </div> <div v-else>Failure</div>
关于javascript - 如何检查来自两个json数据的比较数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48822199/