我正在使用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>