array.slice returns 1 个元素而不是两个

array.slice returns 1 element instead of two

我有一个包含 2 个字符串的数组。一个在数字列表中,另一个是整数。我想获取从第一个字符串开始到整数位置的元素(如果整数是 2,我想要字符串中的前两个数字)。我写了这段代码,但它只是 returns 我字符串中的第一个字符。谁能解释为什么?谢谢

var line = "1,2,3,4,5;2";

line = line.split(";");
console.log(line);

var reverse = line[0].slice(0, parseInt(line[1]));
console.log(reverse);

您需要使用拆分 line 数组的第一个元素,然后您可以使用连接。

var reverse = line[0].split(',').slice(0, parseInt(line[1])).join(',');

var line = "1,2,3,4,5;2";

line = line.split(";");
console.log(line);

var reverse = line[0].split(',').slice(0, parseInt(line[1])).join(',');
console.log(reverse);

您可以使用 replace(',','') 只从字符串中获取数字。

var reverse = line[0].replace(',','').slice(0, parseInt(line[1],10));

var line = "1,2,3,4,5;2";

line = line.split(";");
console.log(line);

var reverse = line[0].replace(',','').slice(0, parseInt(line[1],10));
console.log(reverse);

这是 return 您需要的代码:

  var line = "1,2,3,4,5;2";

line = line.split(";");
var reverse = line[0].split(',').slice(0, parseInt(line[1])).join(',');
console.log(reverse);