jQuery Ajax 每个函数检查返回 ID 与前一个相同



我正在使用AJAX从删除服务器获取数据,然后我使用每个循环。

现在我想做的是,如果返回值数据与前一个相同,我做一些事情 我有 10 个 val.userId == 1 ,我想只做一次而不是 10 次。

在真实情况下我不知道我想让它动态的用户 ID 怎么样 fox 例子 用户 12123 有 10 次,用户1239823有 1000 次

此处的示例 https://jsonplaceholder.typicode.com/posts

$(document).ready(function(){
getData();
});

function getData(){
$.ajax({
type: "GET",
url: "https://jsonplaceholder.typicode.com/posts",
dataType: 'json',
success: function(response){
$.each(response, function(index, val) {
console.log(val); // get all return data
// as we can see userId == 1 have 10 posts , I just want to console.log only once if usdId == 1
if(val.userId == 1){
console.log(val.userId);  // this one consoloe .log 10 times since we have 10 userId 
}
// how about in the real case I do not know the user ID i wanna make it dynamic
// fox example user 12123  has 10 times ,  user 1239823 has 1000 times 
});

},
error: function(xhr, textStatus, error){console.log(xhr.statusText);console.log(textStatus);console.log(error);
}
});
}

感谢您的阅读

如果要根据userId删除重复项,则可以使用响应进行循环并过滤它们。

$(document).ready(function(){
getData();
});
function getData(){
$.ajax({
type: "GET",
url: "https://jsonplaceholder.typicode.com/posts",
dataType: 'json',
success: function(response){
var arr = [];
response.forEach(function (item) {
var result = arr.find(x => x.userId === item.userId);
if (!result) {
arr.push(item);
}
});
console.log(arr);
},
error: function(xhr, textStatus, error){            
console.log(xhr.statusText);
console.log(textStatus);
console.log(error);
}
});
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

相关内容

  • 没有找到相关文章

最新更新