gpt4 book ai didi

javascript - 如何通过 Node Js 拆分字符串?

转载 作者:数据小太阳 更新时间:2023-10-29 04:02:30 25 4
gpt4 key购买 nike

我的数组:

var str=['data1,data2 '];

我用过:

var arr = str.split(",");

但是显示一个错误。类型错误:对象数据 1、数据 2 没有方法“拆分”。我该如何解决这个问题。

我的输出将是:

arr= data1,data2
// or
arr[0]=data1;
arr[1]=data2;

我该如何解决这个问题?

最佳答案

你应该这样做:

var arr = str.toString().split(",");

TypeError: Object data1,data2 has no method 'split'”表示变量不被视为字符串。因此,您必须对其进行类型转换。


更新 08.10.2015 我注意到有人认为上面的答案是“肮脏的解决方法”,令人惊讶的是这个评论被点赞了。事实上,它恰恰相反 - 使用 str[0].split(",") 作为 3 (!) 其他建议是真正的“肮脏的解决方法”。为什么?考虑在这些情况下会发生什么:

var str = [];
var str = ['data1,data2','data3,data4'];
var str = [someVariable];

str[0].split(",") 将在 str 持有空数组时完全失败,因为某些原因不是持有 String .prototype 或如果 str 包含多个字符串,将给出不令人满意的结果。使用 str[0].split(",") 盲目地相信 str 总是会准确地保存 1 个字符串,而绝不会是其他错误做法。 toString() 支持数字、数组、对象、 bool 值、日期甚至函数; str[0].split() 极有可能引发错误并停止范围内的进一步执行,从而导致整个应用程序崩溃。

如果你真的,真的想使用 str[0].split() 那么至少做一些最小的类型检查:

var arr;
if (typeof str[0] == 'string') {
arr = str[0].split(',')
} else {
arr = [];
}

关于javascript - 如何通过 Node Js 拆分字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21537543/

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