js新人学习,求教,各位大佬求指导

weixin_41052952 2018-06-11 04:33:25
var arr=[1500,1200,2000,2100,1800];

工资数组,把超过2000的删除

这个怎么实现
...全文
946 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_37307307 2018-10-30
  • 打赏
  • 举报
回复
function getSmall(num,arr){
var temp = [];
for (var i in arr) {
if(arr[i] < num){
temp.push(arr[i]);
}
}
return temp;
}
bianguji 2018-06-11
  • 打赏
  • 举报
回复
如果不放心 ,就直接写到新数组中
ambit_tsai-微信 2018-06-11
  • 打赏
  • 举报
回复
引用 3 楼 foren_whb 的回复:
[quote=引用 1 楼 ambit_tsai 的回复:] 使用数组的filter函数,返回值为假时,数据会被过滤掉。

arr.filter(function(val){
  return val<=2000;
});
是的,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);//由于这个元素删除了,所以序号需要减一,确保全部遍历到 } }[/quote] 感觉这样操作不太安全,容易越界,直接用新数组覆盖掉旧数组就好了
丰云 2018-06-11
  • 打赏
  • 举报
回复
引用 1 楼 ambit_tsai 的回复:
使用数组的filter函数,返回值为假时,数据会被过滤掉。

arr.filter(function(val){
  return val<=2000;
});
是的,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);//由于这个元素删除了,所以序号需要减一,确保全部遍历到 } }
bianguji 2018-06-11
  • 打赏
  • 举报
回复
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)
ambit_tsai-微信 2018-06-11
  • 打赏
  • 举报
回复
使用数组的filter函数,返回值为假时,数据会被过滤掉。

arr.filter(function(val){
  return val<=2000;
});

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧