Javascript 从数组逻辑中删除空字符串

Javascript 从数组逻辑中删除空字符串,javascript,arrays,node.js,Javascript,Arrays,Node.js,我不熟悉node JavaScript,不太懂语法。我的代码 console.log(index+ "\t" + output[index]); 在数组中输出空字符串 所以我创建了一个新方法 var array = removingEmptyString(output[index]); function removingEmptyString(array) { var newArray = []; for(var i in array) {

我不熟悉node JavaScript,不太懂语法。我的代码

console.log(index+ "\t" + output[index]);
在数组中输出空字符串

所以我创建了一个新方法

var array = removingEmptyString(output[index]);
function removingEmptyString(array)
{
    var newArray = [];

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

    }

我不明白的是,我是否声明我的数组是正确的?另外,如果我将int数组正确地传递到removingEmptyString,如果声明新数组并将非空字符串插入该数组是正确的?

或者使用
过滤器
方法的简单方法

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

一个问题是数组和对象略有不同。要迭代数组,可以使用以下方法:

for (var i=0; i<arr.length; i++) {
  /* code */
}

arr.forEach(function(item, index, arr) {
  /* code */
});
删除数组中空值的最简单方法是:

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

的函数来添加更多应该从原始数组中筛选出来的内容。您永远不会返回任何内容吗
i
将是键,而不是值。按照你做事情的方式,你会有间隙,而不是空值。它说oldArray我会放在输出[index]中还是仅仅输出它说arr我会放在输出[index]中还是仅仅输出你会把数组放在那里。从外观上看,它是输出[索引],但我不能确定。它不起作用,我仍然得到了树的输出,,,原始数组的内容是什么?
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]