【发布时间】:2014-02-20 08:57:29
【问题描述】:
我想将"1,2,3" 转换为[1,2,3]。
但是在将"" 转换为数组时有一个例外。因为我得到[""]。这对我的情况无效。所以我需要检查它是数字还是字符串。让我们在代码中看到这个
function someWayToParse(some_string) {
var final_product = [];
var tmp_array = some_string.split(',');
//if some_string == "" tmp_array will result [""];
if (tmp_array[0].length===0)
return [];
for (var item in tmp_array)
final_product.push(parseInt(tmp_array[item], 10));
return final_product;
}
var stringToParse = "1,2,3";
var array_of_ints = someWayToParse(stringToParse);
我只是在寻找在函数中执行此操作并避免可能出现的错误的最佳方法。 为了我的好奇心,请保持内存效率。
【问题讨论】:
-
这个问题似乎离题了,因为它最适合codereview.stackexchange.com
-
1) 首先检查空字符串,2) 停止使用
for..in遍历数组。 -
@raina77ow 我同意 1) 但我想详细说明 2)。不要误会我的意思,我不是说你错了只是想知道为什么。
-
@Satpal 我可以把问题移到那里吗,我需要在那个堆栈上单独注册吗?很抱歉有小问题,我是 Stack 社区的新手。
标签: javascript arrays string parseint