如何解决对功能参数属性的分配 [英] How to solve this assignment to property of function parameter
本文介绍了如何解决对功能参数属性的分配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
任何人都可以帮助我使用此功能,在下面的功能中我遇到错误
Can anyone help me with this function too,in below function I am getting an error of
Assignment to property of function parameter 'carry'.
如何使用以下功能解决以上错误?如何在不更改功能逻辑的情况下重新编写功能?
How can I solve this above error with below function? How can I re-write the function without changing the function logic? And solve the eslint error too.
const filter = selectedFilter[0].conditions.reduce(
(carry, current) => {
if (current.field === 'access_group_uuid') {
// eslint-disable-next-line in next line getting error at carry
carry[current.field] = (carry[current.field] || []).concat(
current.value,
);
} else {
// eslint-disable-next-line in next line getting error at carry
carry[current.field] = carry[current.field] ?
[carry[current.field], current.value] :
current.value;
}
return carry;
}, {},
);
使用示例-上面的功能
const data = {
executed:[
{_id: "5f23d394cd 480e300", field: "name", value: "Jolly", operator: "equal"},
{_id: "5f30d39f4cd8d0e301", field: "status", value: "EXPIRED", operator: "equal"},
{_id: "5f230d39001480e302", field: "grp", value: "874-3-11-4-56", operator: "equal"},
{_id: "59f4cd8d001480e303", field: "grp", value: "873-5-12-4-77", operator: "equal"}
],
created_at: "2020-07-30T18:11:05.992Z",
name: "Kind Find",
_id: "1f230d39f4cd8d441480e2dd"
}
console.log(
data.executed.reduce((carry, current) => {
if (current.field === 'grp') {
// eslint-disable-next-line no-param-reassig
carry[current.field] = (carry[current.field] || []).concat(current.value);
} else {
// eslint-disable-next-line no-param-reassig
carry[current.field] = carry[current.field] ? [carry[current.field], current.value] : current.value;
}
return carry;
}, {})
);
推荐答案
您可以将传递变量分配给某些
you can assign passing variables to some other variables.
const current = currentValue;
const carry = carryValue;
下面的代码段。
const data = {
executed:[
{_id: "5f23d394cd 480e300", field: "name", value: "Jolly", operator: "equal"},
{_id: "5f30d39f4cd8d0e301", field: "status", value: "EXPIRED", operator: "equal"},
{_id: "5f230d39001480e302", field: "grp", value: "874-3-11-4-56", operator: "equal"},
{_id: "59f4cd8d001480e303", field: "grp", value: "873-5-12-4-77", operator: "equal"}
],
created_at: "2020-07-30T18:11:05.992Z",
name: "Kind Find",
_id: "1f230d39f4cd8d441480e2dd"
}
console.log(
data.executed.reduce((carryValue, currentValue) => {
const current = currentValue;
const carry = carryValue;
if (current.field === 'grp') {
carry[current.field] = (carry[current.field] || []).concat(current.value);
} else {
carry[current.field] = carry[current.field] ? [carry[current.field], current.value] : current.value;
}
return carry;
}, {})
);
这篇关于如何解决对功能参数属性的分配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文