我在 for 循环中有一个数组,如下所示:
var arr = ["abc", "5", "city", "2", "area", "2", "max", "choice"];
我只需要这样的数字:
var arr = ["5","2","2"];
有人可以在这里帮忙吗?
另一种方法是使用转换后的数字到字符串并与原始值进行比较。
var array = ["abc", "5", "city", "2", "area", "2", "max", "choice"],
result = array.filter(v => (+v).toString() === v);
console.log(result);
只是更短的方法isFinite https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isFinite
var array = ["abc", "5", "city", "2", "area", "2", "max", "choice"],
result = array.filter(isFinite);
console.log(result);
当标记为下划线.js /questions/tagged/underscore.js,您可以使用下划线的过滤和回调。
var array = ["abc", "5", "city", "2", "area", "2", "max", "choice"],
result = _.filter(array, _.isFinite);
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"></script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)