这并不是从数组中删除负整数。我不明白为什么不...
for(var ii = 0; ii < diffs.length; ii++) {
if(Number(diffs[ii]) < 0) {
diffs.splice(ii, 1);
}
}
最佳答案
您有两个问题:1)当您删除数组中的项目时,您必须确保不增加计数器(可以通过从末尾计数来避免这种情况)。 2)您必须存储 splice 的结果,然后将其添加到删除的数组中
for(var ii = diffs.length - 1; ii >= 0; ii--) {
if(+diffs[ii] < 0) { // use the unary plus operator to convert to a number, just in case
removed.push(diffs.splice(ii, 1)[0]); //splice returns an array - get the first and only element in it
}
}
关于javascript - 从 JavaScript 数组中删除负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11812943/