我目前正在测试,问题出在这样的地方-创建 detectCardType , validateCardExpiryDate 和 validateCardHolderName 函数。每个对象都应接受一个参数,并使用对象解构来获取该参数的目标属性。
这是我尝试过的。我尝试结合箭头功能,但是我不知道该如何破坏事物。
const {target} = a;
}
const validateCardExpiryDate = ({b}) => {
const {target} = b;
}
const validateCardHolderName = ({c}) => {
const {target} = c;
}
我不断
You have not declared detectCardType as specified
答案 0 :(得分:2)
也许您复制错了,但我看不到定义detectCardType
的顶部。无论如何,您要破坏两次:一次在参数列表中,一次在函数的变量声明中。您可以只使用其中一个,但同时使用两者会寻找一个argument[0].b.target
而不是您想要的argument[0].target
。
答案 1 :(得分:1)
If ws.Cells(3 + j, 3) = "SW" Then ' implicit: .Value
wssum.Cells(3 + k, 2 + i).Value = busum
Else
wssum.Cells(3 + k, 14 + i).Value = busum
End If
答案 2 :(得分:1)
一些选择。第二个最短(有人通过编辑建议),但IMO可读性较差。第三是常规函数而不是箭头函数。
const detectCardType = a => {
const {target} = a;
return target;
}
// this style also works
const validateCardExpiryDate = {target} => target;
// as does this
function validateCardHolderName(obj) {
const {target} = obj;
return target;
}
const a = {target: 'answer'}
const b = {target: 'hello'}
const c = {target: 'world'}
console.log(detectCardType(a));
// "answer"
console.log(validateCardExpiryDate(b));
// "hello"
console.log(validateCardHolderName(c));
// "world"
答案 3 :(得分:0)
const detectCardType = ({target}) => target
const validateCardExpiryDate = ({target}) => target
const validateCardHolderName = ({target}) => target
答案 4 :(得分:0)
使用下面的函数参数对象分解方法,应该很好地进行测试
const detectCardType = ({target: card}) => {
}
const validateCardExpiryDate = ({target: expiryDate}) => {
}
const validateCardHolderName = ({target: holderName}) => {
}
答案 5 :(得分:0)
这应该可以解决:
const detectCardType = ({target}) => {
return target;
}
const validateCardExpiryDate = ({target}) => {
return target;
}
const validateCardHolderName = ({target}) => {
return target;
}
答案 6 :(得分:0)
感谢大家的贡献,这解决了它。 我以前犯的错误是我两次被 破坏 。
const detectCardType = ({target}) => {}
答案 7 :(得分:0)
如果您不需要explicit returns,则应该可以。
const detectCardType = ({target}) => {
return target;
};
用于explicit returns或速记使用
const detectCardType = ({target}) => target;