如果对象键等于预定义的值,我如何附加json数据
How can I append json data if object key is equal to a predefined value?
我收到一个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
});
};
如果post对象id与_permId
的值相同,我想做的是不允许任何内容通过。
以下是用键和值检索json的一个想法:
Object {ID: 4434, title: "new brand case", status: "publish", type: "case-studies", author: Object…}
ID是我要针对其设置参数的值。
如果您只想检查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);
}
}
相关文章:
- 在Drupal7中扩展字段集时,修改collapse.js以从xml获取附加数据
- 如何在打开连接时从Javascript发送一些附加数据,如用户名或时间
- AJAX使用jQuery可排序(非表单)发布附加数据
- 在$.ajax调用中将附加数据添加到jQuery包装的对象数据中
- 如何在p标记中动态附加数据属性值
- 单击按钮时附加数据
- Laravel在成功后附加数据ajax
- 无法在 javascript 中使用 promise.push 附加数据
- 当我尝试附加数据 ID 时;我收到一个错误
- 如何在 HTML5 放置事件的特定位置附加数据传输内容
- jQuery清空文本区域然后附加数据不起作用
- 单击按钮时添加带有附加数据的表行
- jQueryajax,附加数据有效,但数据对另一端(计算机/用户)可见
- Chrome WebKitBlobBuilder没有't附加数据
- C#MVC Post Model和从js到控制器的附加数据
- 以JSON格式附加数据
- AngularJS:在模型和视图之间异步收集附加数据
- Rails不引人注目的javascript(UJS)ajax:在附加数据参数之前
- 如何让sencha触摸存储来附加数据
- Qml嵌套列表模型附加数据