从数组中删除负数

我有一个来自数据库的数组从一组元素中获取所有id。 然而,它似乎也从一些后端发生的事情中抓住了一些负面的ID,并且它打破了我需要对这些id做的事情。

有没有办法在我循环并将其放入应用程序之前从数组中删除这些否定ID?

在我抓住它们之后,我已经在遍历它们了。

ids.forEach(function(Id) { //Code adding elements matching with id's to the screen }); 

我已经尝试在那里添加一个if语句,如果id小于0就不运行该代码,但这似乎不想工作。

只需使用Array.filter

 ids = ids.filter(function(x){ return x > -1 }); 

Array.filter根据返回的布尔值过滤元素。 这里我们只过滤大于-1数字

使用grep :

 ids = [-1,3,4,-2] ids = jQuery.grep(ids, function( n, i ) { return n>=0; }); console.log(ids) 

描述:查找满足过滤函数的数组元素。 原始数组不受影响。