我有一个通过循环拉入数据的ajax GET请求。我想要实现的是获取相关但不在您当前帖子的预定义id值的帖子。所以我在下面有这个功能:
var _permId = $('#work-area').data('current-id');
var getRelatedPosts = function() {
$.ajax({
url: '/wp-json/posts?type=case-studies&filter[taxonomy]=awards&filter[term]='+_awardsPart+'',
success: function ( query ) {
//List some global variables here to fetch post data
// We use base as our global object to find resources we need
// _permId is the var that tells me the current id of this post
var posts = query;
postFull = [];
for(var i = 0; i < posts.length; i++) {
//terms.push(term);
var postObject = posts[i];
postFull.push(postObject);
for (var key in postObject) {
//console.log(postObject[key]);
if (postObject[key] === _permId) {
console.log('this is the same as this post');
}
}
};
},
cache: false
});
};
如果帖子对象ID与_permId
的值相同,我想要做的是不允许任何内容。
以下是使用键和值检索的json的概念:
Object {ID: 4434, title: "new brand case", status: "publish", type: "case-studies", author: Object…}
ID是我想要设置参数的值。
答案 0 :(得分:-1)
如果您只想查看ID
:
...
postFull = [];
for(var i = 0; i < posts.length; i++) {
var postObject = posts[i];
postFull.push(postObject);
if(postObject.ID === _permId) {
//they have the same id
}
};
编辑: 要获得所需的数据,可以使用$.grep:
var newArray = $.grep(posts, function(e, i){return e.ID !== _permiId;});
或纯JS
var newArray = [];
for(var i = 0; i < posts.length; i++){
var p = posts[i];
if(p.ID !== _permId){
newArray.push(p);
}
}