javascript - 数组减少方法正在覆盖第一个元素
问题描述
下面是我的函数,它有 reduce 方法
getFilters(gridFilters, columnList){
const filtersArray = [];
let filterObject = {};
gridFilters.forEach((ele, i, arr) => {
filtersArray.push(...arr[i].filters);
});
const _filArr = filtersArray.reduce((acc, {field, operator, value}) => {
filterObject['columnName'] = field;
filterObject['filterValue1'] = value;
filterObject['filterOperator1'] = operator;
filterObject['filterValue2'] = '';
filterObject['filterOperator2'] = '';
columnList.push(filterObject);
return acc;
}, {});
return columnList;
在这里,filtersArray
将有 2 个数组元素,例如'
Array(2)
0:
field: "objectType"
operator: "contains"
value: "lic"
[[Prototype]]: Object
1:
field: "attributeDisplayName"
operator: "contains"
value: "date"
[[Prototype]]: Object
length: 2
[[Prototype]]: Array(0)
但是在将值推送到columnList
数组之后,我看到第二个对象(具有attributeDisplayName
)针对这两个值。基本上,第一个对象(具有objectType
)被数组中的第二个对象覆盖。
这就是columnList
被覆盖的方式
Array(2)
0:
columnName: "attributeDisplayName"
filterOperator1: "contains"
filterOperator2: ""
filterValue1: "date"
filterValue2: ""
[[Prototype]]: Object
1:
columnName: "attributeDisplayName"
filterOperator1: "contains"
filterOperator2: ""
filterValue1: "date"
filterValue2: ""
[[Prototype]]: Object
length: 2
[[Prototype]]: Array(0)
有人可以建议我在这里做错了什么。谢谢
解决方案
推荐阅读
- python - 知道路径的最后一部分和基目录时在python中查找文件的绝对路径?
- sql - 选择列表中的“Users.Name”列无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中
- r - 如何在 R 中使用 Ggplot2 创建的多面饼图添加百分比标签
- javascript - 如何检测每个页面加载?
- c# - 为什么我不能上传到现有的 Azure 容器?
- python - 计算嵌套列表中的元素
- batch-file - 如何编写可以将文件或整个文件夹复制到给定目标的批处理文件?
- java - 按下对话框关闭图标(X)会导致错误 java
- bitbake - Bitbake - 在配方中使用不同的工具链
- sdk - 使用 golang SDK 部署 AEX9 合约的问题