0 : {id: "1661898942663925762", dataType: "pointSpacing", remark: null, dataKey: "1", dataValue: "晕交给",…} createTime : "2023-05-26 08:55:20" dataKey : "1" dataType : "pointSpacing" dataValue : "晕交给" id : "1661898942663925762" remark : null updateTime : "2023-05-26 08:55:20" 1 : {id: "1661899845433335809", dataType: "resolution", remark: null, dataKey: "2", dataValue: "1920x2020",…} createTime : "2023-05-26 08:58:55" dataKey : "2" dataType : "resolution" dataValue : "1920x2020" id : "1661899845433335809" remark : null updateTime : "2023-05-26 08:58:55" 数组中的这样的一条数据,在新增数据的时候,判断dataType的值去区分成数组,并且判断我输入的datakey和根据dataType生成的新数组中的datakey有没有一样的,如果有,需要弹窗提示,如果没有则进行下一步,代码怎么写
时间: 2023-07-02 15:11:58 浏览: 81
read1.rar_matlab xml_opencv读取xml_site:www.pudn.com
你可以使用 JavaScript 来实现这个逻辑,具体代码如下:
```javascript
// 定义一个空数组来存储数据
let dataArray = [];
// 新增数据的函数
function addData(dataType, dataKey, dataValue) {
// 判断 dataType 是否已存在于 dataArray 中
let index = dataArray.findIndex(item => item.dataType === dataType);
if (index === -1) {
// 如果不存在,就新增一个 dataType 对应的数组
dataArray.push({
dataType: dataType,
data: []
});
index = dataArray.length - 1;
}
// 判断 dataKey 是否已存在于 dataType 对应的数组中
let dataItem = dataArray[index].data.find(item => item.dataKey === dataKey);
if (dataItem) {
// 如果已存在,弹窗提示
alert('该数据已存在');
} else {
// 否则,新增数据
dataArray[index].data.push({
dataKey: dataKey,
dataValue: dataValue
});
}
}
```
在上面的代码中,我们定义了一个空数组 `dataArray` 来存储数据,然后定义了一个名为 `addData` 的函数来新增数据。在函数中,我们首先使用 `findIndex` 方法查找 `dataArray` 中是否已存在 `dataType` 对应的数组,如果不存在,则新增一个 `dataType` 对应的数组;否则,我们继续使用 `find` 方法查找 `dataType` 对应的数组中是否已存在 `dataKey` 对应的项,如果已存在,就弹窗提示,否则就新增数据。
阅读全文