javascript - 删除字符串,使用 JavaScript 将数字保留在数组中
问题描述
其他文章讨论了基于搜索词从数组中删除字符串。
但我试图识别哪些元素是字符串,哪些元素是数组中的数字,然后删除所有字符串以返回一个新数组。
function filter_list(l) {
let newArray = [];
for (let i = 0; i < l.length; i ++) {
if (i !== "^[a-zA-Z0-9_.-]*$") {
newArray = newArray + i;
}
}
return newArray;
}
这是回归0123
。
- 为什么它不返回一个数组?
- 为什么
if (i !== "^[a-zA-Z0-9_.-]*$")
不工作?当一个元素是数组中的字符串(引号中的东西)时,我还能如何检查?
https://www.codewars.com/kata/list-filtering/train/javascript
谢谢
解决方案
你可以是typeof
关键字。和filter()
。我已经测试了代码,它通过了代码战中的所有测试。
使用 ES6 箭头函数
function filter_list(l) {
return l.filter(x => typeof x === "number");
}
console.log(filter_list([1,2,'a','b']))
无箭头功能
function filter_list(l) {
return l.filter(function(x){
return typeof x === "number"
});
}
console.log(filter_list([1,2,'a','b']))
使用简单循环
function filter_list(l) {
let newArr = [];
for(let i = 0;i<l.length;i++){
if(typeof l[i] === "number") newArr.push(l[i]);
}
return newArr
}
console.log(filter_list([1,2,'a','b']))
推荐阅读
- typescript - 定义泛型类型时引用自己的属性
- python-3.x - 使用 tls 加密订阅 mqtt 主题(PYTHON)
- jenkins - 以非 root 用户身份启动 jenkins 失败
- android - 如何在 Retorfit 中使用具有暂停乐趣的 NetworkBoundResource
- vba - 如何使用 vba 只保留 XML 文件中想要的文本
- laravel-5 - 将数据保存到数据库
- mysql - 根据国名mysql获取记录
- clojure - 为什么要使用empty over count?
- android - Zebra 设备-TC75x-Android 8.1-条形码扫描问题
- filemaker - 如何将单词分类到每条记录中(用户函数)?