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

时间:2013-11-29 17:00:29

标签: javascript arrays node.js

我是节点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;
                }
        }

    }

我不明白的是我是否宣布我的阵列正确?另外,如果我正确地将数组传递给removeEmptyString,如果声明新数组并将非空字符串插入该数组中也是正确的吗?

2 个答案:

答案 0 :(得分:1)

一个问题是数组和对象略有不同。要遍历数组,您可以使用以下内容:

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

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

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

var obj = { b : 1, c:2 }

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

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

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的函数来添加应该从原始数组中过滤掉的更多内容。

答案 1 :(得分:0)

使用filter方法的简单方法。

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