gpt4 book ai didi

javascript - 将 Chai 可链接 getter 与数组一起应用

转载 作者:行者123 更新时间:2023-12-03 10:31:57 25 4
gpt4 key购买 nike

我不确定如何执行以下操作(或者这是否是一个聪明的想法),但我有类似这样的功能:

testProperty: function(err, data, prop, chaiMethod) {

if (Array.isArray(data)) data = data[0];

var propertyValue = (isNaN(parseInt(data.value, 10))) ? data.value : parseInt(data.value, 10);

return propertyValue.toString().should[chaiMethod](prop);

}

};

其中 chaiMethod 是一个字符串数组,表示我要应用的 chai 字符串。例如:

chiMethod = ['be', 'above']

在传递我要验证的 prop 之前,我试图弄清楚如何将这些函数应用于 should

我认为答案是柯里化(Currying)(我很乐意犯错),如果是这样的话,这就是我一直难以理解的概念。有什么想法吗?

最佳答案

您应该能够循环遍历字符串来获取每个连续属性的值,最后一个属性有望成为要调用的函数:

testProperty: function(err, data, prop, chaiMethod) {

if (Array.isArray(data)) data = data[0];

var propertyValue = (isNaN(parseInt(data.value, 10))) ? data.value : parseInt(data.value, 10);

var assertion = (propertyValue).should,
fn = assertion;

for (var i = 0, len = chaiMethod.length - 1; i < len; i++) {
fn = fn[chaiMethod[i]];
}
return fn[chaiMethod[chaiMethod.length-1]](prop);
}

};

此外,如果您想做像 be.above 这样的测试,我认为如果您将 propertyValue 转换为字符串,它们就不会起作用,所以我删除了它。

注意,我还没有测试过这些,所以你必须自己尝试一下。

关于javascript - 将 Chai 可链接 getter 与数组一起应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29169974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com