我无法删除我的String数组的空值

时间:2019-10-17 09:56:49

标签: javascript jquery

我有一个喜欢的String数组

var arr=["1","2",""];
arr.filter(Boolean);
arr.filter(function(e){return e != ""});

我使用了其中一种方法,但是那个空字符串仍然在这里。 注意:我使用的是chrome。

4 个答案:

答案 0 :(得分:2)

var arr=["1","2","", "3"];
//arr.filter(Boolean);
arr = arr.filter(function(num){return num!=""});
console.log(arr);

您必须将其分配回arr。

答案 1 :(得分:2)

您的代码正在运行,您只需要将类型retunr改成return并将修改后的数组保存到变量

var arr=["1","2",""];
console.log(arr);
arr.filter(Boolean);
arr = arr.filter(function(e){return e != ""});
console.log(arr);

答案 2 :(得分:1)

您有错字(如@RoryMcCrossan sad),因此代码必须为:

var arr=["1","2",""];
var newArr = arr.filter(element => element !== "");

console.log(newArr);

答案 3 :(得分:0)

您可以使用arr.filter过滤值。但是,如果您使用的是IE,则可能是过滤器无法正常工作,则需要使用纯JavaScript。

var arr=["1","2",""];
arr=arr.filter(function(o){ return o!=""});
console.log(arr);

output
(2) ["1", "2"]

var k=[];
for(var i=0;i<arr.length;i++){ if(arr[i]!=""){k.push(arr[i])}}
console.log(k);