我有一个可以包含都不可能包含空白列表的非常简单的字符串:.trim()不是一个函数
string = "one, two,three ";
我想先拆由,
字符串创建三个数组串,然后使用.trim()
array = string.split(',').trim();
返回"one","two","three"
但是有时它失败并返回一个错误消除任何空白.trim() is not a function
我读了.trim()
返回一个新的字符串,而不是当前字符串的修剪版本。所以我用一个for循环做以上:
array = string.split(',');
for (var i = 0; i < array.length; i++) {
var item = array[i].trim();
array.push(item);
}
返回"one","two","three"
我的问题是,任何人都可以解释为什么我收到错误只是偶尔?如果阵列从我的示例中永远不会改变,并且任何人都可以为我的修复提供更清晰的解
你应该每次都得到'TypeError:array.split不是一个函数',所以它永远不会得到你所说的错误 –
''这会返回“one”,“two”,“three” - 不,它不会...它也抱怨array.split不是一个函数 - 我建议如果你需要代码的帮助,当你简化它,确保它显示相同的错误真正的代码有 –
split()方法通过将字符串分隔成子字符串,将字符串对象分割成字符串数组,从[doc](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split) –