gpt4 book ai didi

javascript - 修改方法以完成从数组中删除空字符串的额外逗号

转载 作者:行者123 更新时间:2023-11-28 20:08:39 25 4
gpt4 key购买 nike

我已经尝试了 stackoverflow 上可用的所有过滤器和方法。我原来的输出是

Human,,,

现在使用此方法后

function removingEmptyString(array)
{
var item = "";

for( var i = 0; i < array.length; i++)
{
if(array[i] == "" || array[i] == null)
{
array.splice( i, 1 );

}
}

return array;
}

我的输出是

Human,

我的代码有什么问题,我仍然得到最后一个逗号?

for (var index in output)
{
if (opt.options.showEmpty != true)
{
var check = arrayIsEmpty(output[index]);

if ( check == true )
{
continue;
}
else
{
var array = removingEmptyString(output[index]);

//console.log(index + "\t" + array);
//var array = arr(output[index]);

console.log(index+ "\t" + array);
//console.log(index+ "\t" + output[index]);
}
}

最佳答案

看到你的For循环没有按你预期的那样工作,你正在循环遍历数组,当条件匹配时,你正在将元素拼接到该索引上,但是for循环继续递增,所以只有下一个检查了索引,但 splice 方法已将数组减少了一个索引,因此,“”元素现在位于已循环的索引中。

您需要做的是当条件匹配时递减 i 值,以便循环再次遍历索引。希望有帮助。

function removingEmptyString(array)
{
var item = "";

for( var i = 0; i < array.length; i++)
{
if(array[i] == "" || array[i] == null)
{
array.splice( i, 1 );
//decrement the index
i--;

}
}

return array;
}

关于javascript - 修改方法以完成从数组中删除空字符串的额外逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20292414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com