newType.series[0].data.push({value: item.value,name: testType.find(s=>s.dictKey === item.key)?.dictValue || '未归类',itemStyle: {color: pieColorBox[index]}}); 改写代码,让name为‘未归类’的数据,value值相加,合并为一条数据
时间: 2024-02-01 22:15:52 浏览: 21
可以使用 `reduce` 方法来实现:
```
newType.series[0].data = newType.series[0].data.reduce((acc, item) => {
if (item.name === '未归类') {
const existingItem = acc.find(i => i.name === '未归类');
if (existingItem) {
existingItem.value += item.value;
} else {
acc.push(item);
}
} else {
acc.push(item);
}
return acc;
}, []);
```
这段代码会遍历 `newType.series[0].data` 数组,如果发现了 `name` 为 '未归类' 的数据,则会查找已有的 '未归类' 数据并将其 `value` 值相加,否则将其添加到结果数组 `acc` 中。最后返回结果数组。
相关问题
value:testType.find(s=>s.dictKey === item.key)? item.value || 0, 改写代码,让key值比对上,正常赋值item.value,比对不上,就把所有的value值相加
可以这样改写代码:
```
let totalValue = 0;
testType.forEach((s) => {
if (s.dictKey === item.key) {
item.value ? item.value : 0;
totalValue += item.value;
} else {
totalValue += s.value || 0;
}
});
```
首先定义一个 `totalValue` 变量用来记录总的值。然后使用 `forEach` 方法遍历 `testType` 数组中的每一个元素,如果当前元素的 `dictKey` 属性值等于 `item` 对象的 `key` 属性值,则将 `item` 对象的 `value` 属性值加入到 `totalValue` 中,否则将当前元素的 `value` 属性值加入到 `totalValue` 中。最终得到的 `totalValue` 就是我们需要的值。
SELECT v.Version_No,CONCAT( s.Soft_Name , '-',vtl.VTL_TechStrategy ) AS Test_level_name,a.TestItem,a.testType,a.use_cases,b.instance_data, CONCAT( a.use_cases , '/',b.instance_data) AS cases_instances FROM t_softlist AS s INNER JOIN t_testversion AS v ON v.TreeUid = s.TreeUid INNER JOIN t_versiontotestlevel AS vtl ON vtl.Version_Uid = v.Version_Uid LEFT JOIN view_soft_testreqcanbuildusecase AS qcan ON qcan.VTL_Uid = vtl.VTL_Uid LEFT JOIN ( SELECT qcan.TestItem,qcan.testType,COUNT(us.TreeUid) AS use_cases FROM view_soft_testreqcanbuildusecase AS qcan INNER JOIN t_usecase AS us ON us.TreeUid = qcan.ReqTreeUid GROUP BY qcan.TestType )AS a ON a.TestItem = qcan.TestItem LEFT JOIN ( SELECT qcan.TestItem,qcan.testType,COUNT(uci.UC_Uid) AS instance_data FROM view_soft_testreqcanbuildusecase AS qcan INNER JOIN t_usecase AS us ON us.TreeUid = qcan.ReqTreeUid INNER JOIN t_ucinstances AS uci ON uci.UC_Uid = us.UC_Uid GROUP BY qcan.TestType )AS b ON b.testType = a.testType GROUP BY Test_level_name,a.TestType;这是查询当前项目的语句,要查看所有库下的这些信息怎么改
如果要查询所有库下的这些信息,你需要在查询语句中添加库的信息。假设你要查询的库名为`database_name`,你可以将查询语句修改为以下形式:
```
SELECT v.Version_No, CONCAT(s.Soft_Name, '-', vtl.VTL_TechStrategy) AS Test_level_name, a.TestItem, a.testType, a.use_cases, b.instance_data,
CONCAT(a.use_cases, '/', b.instance_data) AS cases_instances
FROM database_name.t_softlist AS s
INNER JOIN database_name.t_testversion AS v ON v.TreeUid = s.TreeUid
INNER JOIN database_name.t_versiontotestlevel AS vtl ON vtl.Version_Uid = v.Version_Uid
LEFT JOIN database_name.view_soft_testreqcanbuildusecase AS qcan ON qcan.VTL_Uid = vtl.VTL_Uid
LEFT JOIN (
SELECT qcan.TestItem, qcan.testType, COUNT(us.TreeUid) AS use_cases FROM database_name.view_soft_testreqcanbuildusecase AS qcan
INNER JOIN database_name.t_usecase AS us ON us.TreeUid = qcan.ReqTreeUid
GROUP BY qcan.TestType
) AS a ON a.TestItem = qcan.TestItem
LEFT JOIN (
SELECT qcan.TestItem, qcan.testType, COUNT(uci.UC_Uid) AS instance_data FROM database_name.view_soft_testreqcanbuildusecase AS qcan
INNER JOIN database_name.t_usecase AS us ON us.TreeUid = qcan.ReqTreeUid
INNER JOIN database_name.t_ucinstances AS uci ON uci.UC_Uid = us.UC_Uid
GROUP BY qcan.TestType
) AS b ON b.testType = a.testType
GROUP BY Test_level_name, a.TestType;
```
在每个表名之前添加`database_name.`,以指定要查询的库。请确保将`database_name`替换为实际的库名。