javascript - 从 JavaScript 数组中删除负数

标签 javascript arrays for-loop splice negative-number

这并不是从数组中删除负整数。我不明白为什么不...

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/

相关文章:

javascript - Flow 的结构子类型 "forget"是否具有特定的子类型属性?

javascript - 如何将您在函数中调用的内容更改为数组

arrays - 两个数组的最大子集和

C for循环几乎正确

javascript - 使用 JavaScript 或 jQuery 禁用空格键或粘贴空格

javascript - 按类查找元素

php - 如果你知道 array[x]->ID,找出 array[x] 的对象 id?

arrays - 如何定义和分配 Verilog 二维数组

arrays - 在 Bash 中打印多个迭代数组,以便它们交替

javascript - 阵列组织