javascript - 需要从数组中删除字符串
问题描述
我在 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
var array = ["abc", "5", "city", "2", "area", "2", "max", "choice"],
result = array.filter(isFinite);
console.log(result);
使用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>
推荐阅读
- c - 0x7fff 是什么意思?C语言
- r - 根据shinydashboard中选定的ActionButton定义数据框
- java - 使用默认值转换为 ISO 字符串
- java - 骆驼解组jsonpath到pojo
- javascript - 如何在javascript中使用正则表达式在数组中进行搜索
- php - 在具有旧值的刀片 laravel 中显示数据库中不同输入字段的用户现有数据
- mysql - 如何验证是否选择了特定值并将其存储在 Laravel
- angular - 如何在 Angular 库的 umdModuleIds 中添加 angular-redux/store 的条目
- aws-lambda - 尝试通过 api 写入 AWS dynamo db
- c# - WPF矩形标签模糊