我有一个来自数据库的数组从一组元素中获取所有id。然而,它似乎也从一些后端发生的事情中抓住了一些负面的ID,并且它打破了我需要对这些id做的事情。
在我将其循环并将其放入应用程序之前,有没有办法从数组中删除这些否定ID?
在我抓住它们之后,我已经在循环它们了。
ids.forEach(function(Id) {
//Code adding elements matching with id's to the screen
});
我已经尝试在那里添加一个if语句,如果id小于0则不运行该代码,但这似乎不想工作。
答案 0 :(得分:5)
只需使用Array.filter
ids = ids.filter(function(x){ return x > -1 });
Array.filter根据返回的布尔值过滤元素。在这里,我们只过滤大于-1
答案 1 :(得分:0)
使用grep:
ids = [-1,3,4,-2]
ids = jQuery.grep(ids, function( n, i ) {
return n>=0;
});
console.log(ids)
描述:查找满足过滤函数的数组元素。原始数组不受影响。