Javascript 过滤大于或等于某个数字的数字(省略该数字),然后将其删除?
这个问题听起来很奇怪,但我已经和这个拦截器在一起很长时间了。我试图遍历一个数组,该数组中有一系列字符串中的数字(我在模拟我的想法场景,这看起来也很奇怪),然后在一个循环中,我想得到我的对象中大于或等于75的数字的索引,以便以后删除不大于75的元素 输出应为:Javascript 过滤大于或等于某个数字的数字(省略该数字),然后将其删除?,javascript,Javascript,这个问题听起来很奇怪,但我已经和这个拦截器在一起很长时间了。我试图遍历一个数组,该数组中有一系列字符串中的数字(我在模拟我的想法场景,这看起来也很奇怪),然后在一个循环中,我想得到我的对象中大于或等于75的数字的索引,以便以后删除不大于75的元素 输出应为:75和100。但由于某些原因,输出为100。我做错了什么?我甚至在反向消除,因为如果我在lopp中消除,我会有问题 number="75"; aIndex=[]; aData= [ { "number":"75" }, {
75
和100
。但由于某些原因,输出为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);
number=“75”;
aIndex=[];
阿达塔=
[
{
“编号”:“75”
},
{
“编号”:“50”,
},
{
“编号”:“100”
}
];
用于(aData中的var i){
设data=parseInt(aData[i].number);
设数=parseInt(“75”);
控制台日志(数据);
控制台日志(编号);
console.log(数据您当前测试是否可以使用数据获得预期结果:
let aData=[
{编号:“75”},
{编号:“50”},
{编号:“100”}
];
let filtered=aData.reduce((acc,{number})=>{
数字=数字(数字);
如果(数字>=75){
acc.push(编号);
}
返回acc;
}, []);
console.log(过滤);
我认为它是I.number
而不是aData[I]。number
@Jay No,I
是正在迭代的属性名(因为这是一个数组,'0'
,'1'
,等等)有趣。我本以为它引用了数组中的一个元素——本例中的一个对象。与直觉相反,你的测试是dataNo,“你的测试是dataYes,因为当测试通过时,你的逻辑是从数组中删除该索引(最终)