Javascript 从数组逻辑中删除空字符串
我不熟悉node 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) {
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]