关于javascript:从数组逻辑中删除空字符串

Removing an empty string from an array logic

本问题已经有最佳答案,请猛点这里访问。

我对node javascript是个新手,对语法不太了解。我的密码

1
console.log(index+"\t" + output[index]);

在数组中输出空字符串。

所以我创建了一个新方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var array = removingEmptyString(output[index]);
function removingEmptyString(array)
{
    var newArray = [];

    for(var i in array)
        {
            if(i !="" || i != null || i !="")
                {
                    newArray[i] = i;
                }
        }

    }

我不明白的是,如果我声明数组是正确的?另外,如果我正确地将int-he数组传递给removingemptyString,那么声明新数组并将非空字符串插入该数组是否正确呢?


一个问题是数组和对象是稍微不同的东西。要迭代数组,可以使用以下内容:

1
2
3
4
5
6
7
for (var i=0; i<arr.length; i++) {
  /* code */
}

arr.forEach(function(item, index, arr) {
  /* code */
});

for..in结构用于迭代对象中的键:

1
2
3
4
5
var obj = { b : 1, c:2 }

for (var key in obj) {
  console.log(key) // will output first b then c
}

删除数组中空值的最简单方法是:

1
2
3
4
var arr = [ 1, '', null, 3, 0, undefined, '', 4 ];
var filtered = arr.filter(function(item){ return item != null && item !== ''; });

console.log(filtered) // [1,3,0,4]

显然,通过更改传递给filter的函数,可以添加更多应该从原始数组中筛选出来的内容。


或者使用filter方法的简单方法。

1
var newArray = oldArray.filter(function(v){return v!==''});