有没有办法在不使用某种包装器的情况下使用原生JS将"1,2"
转换为1,2
?
"1,2".someMagic() \\ 1,2
最终,我想将此作为参数传递给函数。
答案 0 :(得分:1)
首先,没有办法将"1,2"
转换为字面1,2
。因为它是无效的类型。 1,2更好地表示为数组
您可以使用下面的.apply将1,2作为参数(数组格式)发送到函数someMagic
someMagic.apply(context, [1,2]);
Apply会调用someMagic并发送1,2作为参数
答案 1 :(得分:1)
function doSomething(param1, param2) {
return parseInt(param1)+parseInt(param2);
};
doSomething.apply(this, "1,2".split(","));
// returns 3
也许这个帖子Converting an array to a function arguments list可能会让你感兴趣。
答案 2 :(得分:0)
使用分裂就是答案。
var string = "1,2";
var splitString = string.split(","); //use , as an parameter to split
答案 3 :(得分:0)
var str = "1,2,3,4,5,6";
var arr=[];
function process(str){
// split the string into tokens
arr = str.split(",");
// go through each array element
arr.forEach(function(val,index,ar){
// convert each element into integer
var temp = parseInt(val);
// repopulate array
arr[index] = temp;
});
}
process(str);
console.log(arr);
答案 4 :(得分:0)
与user3146092的答案类似,此问题不会依赖于您的parseInt
功能。
someMagic.apply(this, '1,2'.split(',').map(function(n) { return parseInt(n, 10); }));
答案 5 :(得分:0)
您可以创建一个数字数组并将它们作为参数传递,事实上,这是在JavaScript中执行此操作的最佳方式。
var nums = "1,2,3"
.split(",")
.map(function (num) { return parseInt(num, 10) });
现在你可以传递nums
作为你的论据。