gpt4 book ai didi

javascript - 从 javascript 数组中删除元素会导致问题

转载 作者:行者123 更新时间:2023-12-02 14:26:05 25 4
gpt4 key购买 nike

所以我有点困惑为什么这不起作用。我试图删除数组中的所有空字符串,但它不断返回一个只有一个空字符串的数组。有任何想法吗?

function splitNames(){
var names = document.getElementById("1").value.split("\n");
for(var i = 0; i<=names.length; i++){
if(names[i]==""){
names = names.splice(i, 1);
console.log(names);
}
}
console.log(names);
}

顺便说一句,字符串看起来像这样。

你好

(删除这个)

你好

废话

(删除这个)

(删除这个)

废话

数组结果是这样的 ["Hi", "Hello","",...]

最佳答案

也许最简单的方法是使用filter函数并搜索真值。默认情况下,空字符串为 false。

The filter() method creates a new array with all elements that pass the test implemented by the provided function.

var strings = ["zebras", "trees", "forests", "", "hi", "wizards", "", "", "lizards"];

strings = strings.filter((e) => e);

console.log(strings);

需要注意的是,空字符串默认为 false。但是,仅包含空白字符的字符串是正确的。在这种情况下,我的示例将不起作用,您必须这样做

strings.filter((e) => e.trim());

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

关于javascript - 从 javascript 数组中删除元素会导致问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38227430/

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