我需要帮助了解我的代码中发生的情况。我计划编写一个函数,它接受一个字符串并删除所有字母。输入将是字母和数字的组合。我希望这个函数返回字符串中找到的所有数字的数组。我已经成功写了一些东西(在 stackoverflow 的帮助下):
number = "32321FDFDS 44"
arr = number.replace(/[A-Za-z]/g," ").split(" ")
for(var i = arr.length - 1; i >= 0; i--){
if(arr[i] == "") {
arr.splice(i, 1);
}
}
这会返回
[ '32321', '44' ]
目前来说这是完美的。我的问题是我不明白 arr.splice(i,1) 如何删除空字符串。删除 arr 中的空字符串是没有意义的。有人可以帮我理解这一点吗?
最佳答案
测试:
if (arr[n] == "") // if item `n` within `arr` array `==` `""` , do stuff
数组中有两个项目:
var arr = ["123", ""];
if (arr[0] == "") {
arr.splice(0,1);
} else {
console.log(arr); // ["123", ""];
};
if (arr[1] == "") {
arr.splice(1,1);
console.log(arr); // ["123"]
};
关于javascript - 在javascript中从数组中删除空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26091271/