js新人学习,求教,各位大佬求指导 var arr=[1500,1200,2000,2100,1800];工资数组,把超过2000的删除这个怎么实现 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用数组的filter函数,返回值为假时,数据会被过滤掉。arr.filter(function(val){ return val<=2000;}); var arr=[1500,1200,2000,2100,3555,1800]; document.write(arr + "<br />") var alen=5; for (var i=0;i<alen;i++) { if (arr[i]>2000) { arr.splice(i,1) i--; } } document.write(arr) 是的,filter不会改变原数组,只返回你需要的新数组。如果是需要改变原数组,要么用原数组变量接收这个返回的新数组:arr = arr.filter(function(val){ return val<=2000;});要么循环数组,然后用splice方法删除,也是可以的:for(var i = 0; i < arr.length; i++){ if(arr[i] > 2000){ arr.splice(i--, 1);//由于这个元素删除了,所以序号需要减一,确保全部遍历到 }} 是的,filter不会改变原数组,只返回你需要的新数组。如果是需要改变原数组,要么用原数组变量接收这个返回的新数组:arr = arr.filter(function(val){ return val<=2000;});要么循环数组,然后用splice方法删除,也是可以的:for(var i = 0; i < arr.length; i++){ if(arr[i] > 2000){ arr.splice(i--, 1);//由于这个元素删除了,所以序号需要减一,确保全部遍历到 }}感觉这样操作不太安全,容易越界,直接用新数组覆盖掉旧数组就好了 function getSmall(num,arr){ var temp = []; for (var i in arr) { if(arr[i] < num){ temp.push(arr[i]); } } return temp; } zClip (ZeroClipboard)问题求助 用JSP开发过OA的高手,请进!!! 大家提提意见!!! flex于java数据交互的方法 关于传统模型与内联模型的涵数参数的问题 js里提交action的问题 如何在转到另一页面时保留原页面不消失? 正则表达试能否通过函数来调用?? 关于 OnSubmit,求救,先谢了! Extjs4如何设置文本框的背景色为灰色或者里面的文字为灰色 cannot read property 'layer' of null 有谁知道陕西热力图怎么做
return val<=2000;
});
document.write(arr + "<br />")
var alen=5;
for (var i=0;i<alen;i++)
{
if (arr[i]>2000)
{
arr.splice(i,1)
i--;
}
}
document.write(arr)
如果是需要改变原数组,要么用原数组变量接收这个返回的新数组:
arr = arr.filter(function(val){ return val<=2000;});
要么循环数组,然后用splice方法删除,也是可以的:
for(var i = 0; i < arr.length; i++){
if(arr[i] > 2000){
arr.splice(i--, 1);//由于这个元素删除了,所以序号需要减一,确保全部遍历到
}
}
如果是需要改变原数组,要么用原数组变量接收这个返回的新数组:
arr = arr.filter(function(val){ return val<=2000;});
要么循环数组,然后用splice方法删除,也是可以的:
for(var i = 0; i < arr.length; i++){
if(arr[i] > 2000){
arr.splice(i--, 1);//由于这个元素删除了,所以序号需要减一,确保全部遍历到
}
}
感觉这样操作不太安全,容易越界,直接用新数组覆盖掉旧数组就好了
var temp = [];
for (var i in arr) {
if(arr[i] < num){
temp.push(arr[i]);
}
}
return temp;
}