我有一个喜欢的String数组
var arr=["1","2",""];
arr.filter(Boolean);
arr.filter(function(e){return e != ""});
我使用了其中一种方法,但是那个空字符串仍然在这里。 注意:我使用的是chrome。
答案 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);