任何人都可以解释一下,当我们通过[0,1]
2,0,1
function processData(input) {
var parse_fun = function (s) { return parseInt(s, 10); };
var lines = input.split('\n');
console.log(lines)
var T = parse_fun(lines.shift());
console.log(T)
var data = lines.splice(0, T).map(parse_fun);
console.log(data);
}
令这条线混淆的部分。
var data = lines.splice(0, T).map(parse_fun);
console.log(data);
lines.splice(0,T)
返回给我[]
然后[].map(parse_fun)
如何返回[0,1]
答案 0 :(得分:1)
假设输入"2\n0\n1"
考虑lines.shift()
的作用,
lines
中的第一项,并按1
lines
因此,在您的情况下,系统会返回2
,lines
会变为["0", "1"]
接下来,考虑lines.splice(0, 2)
做什么
2
开始,从lines
删除0
个项目因此,在您的情况下,系统会返回["0", "1"]
,lines
会变为[]
最后,您将数组["0", "1"]
映射到基数10
并获得结果[0, 1]
答案 1 :(得分:1)