javascript - 过滤大于或等于某个数字(该数字被省略)的数字然后删除它们?

标签 javascript

这个问题听起来很奇怪,但我已经使用这个拦截器很长时间了。我正在尝试遍历一个在字符串中包含一系列数字的数组(我正在模拟我的想法场景,这看起来也很奇怪),然后在循环中我想获取我的对象中的数字的索引,这些数字是大于或等于75,以便以后剔除不大于或等于75的元素。

输出应为:75100。但由于某种原因,输出是100。我究竟做错了什么?我什至反向消除,因为如果我在 lopp 内消除,我就会遇到问题。

number="75";
aIndex=[];
aData=
[
  {
    "number":"75"
  },
  {
    "number":"50",
  },
  {
    "number":"100"
  }
];

for(var i in aData){
  let data=parseInt(aData[i].number);
  let number=parseInt("75");
  console.log(data);
  console.log(number);
  console.log(data <=number)
  if(data<=number){
    console.log(data , "<=", number)
    let index=aData.indexOf(aData[i]);
    aIndex.push(index);
    console.log("index",index);
  }
}

for(var n = aIndex.length -1; n >= 0 ; n--){
 aData.splice(aIndex[n], 1);
}    
console.log(aData);

https://jsfiddle.net/omeka4q3/

最佳答案

您当前测试是否 data<=number ,如果是这样,push索引为 aIndex然后拼接出该索引。如果您想保持相等的数字,请使用 <相反。

number="75";
aIndex=[];
aData=
[
  {
    "number":"75"
  },
  {
    "number":"50",
  },
  {
    "number":"100"
  }
];

for(var i in aData){
  let data=parseInt(aData[i].number);
  let number=parseInt("75");
  console.log(data);
  console.log(number);
  console.log(data <number)
  if(data<=number){
    console.log(data , "<=", number)
    let index=aData.indexOf(aData[i]);
    aIndex.push(index);
    console.log("index",index);
  }
}

for(var n = aIndex.length -1; n >= 0 ; n--){
 aData.splice(aIndex[n], 1);
}    
console.log(aData);

或者,您可以使用filter而不是手动splice ing,这可能很乏味且容易出错:

const aData = [{
    "number": "75"
  },
  {
    "number": "50",
  },
  {
    "number": "100"
  }
];
const aDataFiltered = aData.filter(({ number }) => Number(number) >= 75);
console.log(aDataFiltered);

关于javascript - 过滤大于或等于某个数字(该数字被省略)的数字然后删除它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55447664/

相关文章:

php - 从 php 访问主题标签后的 URI 变量的最佳方法是什么?

javascript - 鼠标悬停事件监听器在元素内移动鼠标时触发多次,但仅在更新 innerHTML 时触发

javascript - HTML 有没有办法将日期输入中的年份限制为 4 位数字

JavaScript:如何轻松扩展此显示/隐藏功能?

javascript - 如何使用 Javascript 在容器中找到第一个文本框?

javascript - 根据浏览器宽度通过平滑过渡更改网格中的列数

php - 如何将文本值传递到使用 php 分配的另一个表单

javascript - 在不影响或更改我的 css 的情况下插入 bootstrap.css

javascript - react 路由器 v4 : prevent transition with custom hook instead of Prompt

javascript - 等待一个函数返回一个值,然后再继续执行其他函数的其余命令