【发布时间】:2020-02-06 01:41:32
【问题描述】:
我有一个函数,当我传递一个数组和一个 rest 参数时,它会返回不同的值。当我用 Array.isArray() 检查每个时,它们都是数组。为什么返回值不同?
function checkTerm(...terms) {
var checkSet = ['that','this','else','now'];
return terms.filter(term => checkSet.indexOf(term) > -1);
}
console.log(checkTerm(['this', 'them', 'else']));
对比
function checkTerm(terms) {
var checkSet = ['that','this','else','now'];
return terms.filter(term => checkSet.indexOf(term) > -1);
}
console.log(checkTerm(['this', 'them', 'else']));
作为休息传递参数:预期输出 = ['this','else'],实际输出 = []
将参数作为数组传递:预期输出 = ['this','else'],实际输出 = ['this','else']
【问题讨论】:
标签: javascript arrays