JavaScript将字符串转换为文字逗号列表

时间:2015-11-08 03:55:33

标签: javascript string

有没有办法在不使用某种包装器的情况下使用原生JS将"1,2"转换为1,2

"1,2".someMagic() \\ 1,2

最终,我想将此作为参数传递给函数。

6 个答案:

答案 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

http://www.w3schools.com/jsref/jsref_split.asp

答案 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作为你的论据。