let arr = [{names:1,aee:123},{names:1,aee:15456423},{names:2,aee:4658456}]; let tempObj = {}; let isDuplicate = false; for(let i=0; i<arr.length; i++){ if(tempObj[arr[i].names]){ isDuplicate = true; break; } tempObj[arr[i].names] = true; } if(isDuplicate){ console.log('names属性存在重复'); }else{ console.log('names属性不存在重复'); } 代码优化
时间: 2024-03-27 10:37:31 浏览: 92
可以将数组的遍历和判断是否重复的逻辑封装成一个函数,提高代码的可复用性和可维护性。
以下是示例代码:
```javascript
function isDuplicate(arr, propName){
let tempObj = {};
for(let i=0; i<arr.length; i++){
if(tempObj[arr[i][propName]]){
return true;
}
tempObj[arr[i][propName]] = true;
}
return false;
}
let arr = [{names:1,aee:123},{names:1,aee:15456423},{names:2,aee:4658456}];
if(isDuplicate(arr, 'names')){
console.log('names属性存在重复');
}else{
console.log('names属性不存在重复');
}
```
输出结果为:names属性存在重复
相关问题
let arr = [{names:1,aee:123},{names:1,aee:15456423},{names:2,aee:4658456}]; 判断names是否有重复
可以使用数组和对象结合的方式来判断对象数组中的某个属性是否有重复,具体操作是遍历数组,把对象的某个属性值作为 key 放入一个临时对象中,如果该属性值已存在于临时对象中,则说明该属性有重复。
以下是示例代码:
```javascript
let arr = [{names:1,aee:123},{names:1,aee:15456423},{names:2,aee:4658456}];
let tempObj = {};
let isDuplicate = false;
for(let i=0; i<arr.length; i++){
if(tempObj[arr[i].names]){
isDuplicate = true;
break;
}
tempObj[arr[i].names] = true;
}
if(isDuplicate){
console.log('names属性存在重复');
}else{
console.log('names属性不存在重复');
}
```
输出结果为:names属性存在重复
function isDuplicate(arr, propName){ let tempObj = {}; arr.forEach(item => { if (tempObj[item.propName]) { return true; } tempObj[item.propName] = true; }); return false; } let arr = [{names:1,aee:123},{names:1,aee:15456423},{names:2,aee:4658456}]; if(isDuplicate(arr, 'names')){ console.log('names属性存在重复'); }else{ console.log('names属性不存在重复'); } 代码优化
在上面的代码中,使用了 `arr.forEach` 方法来遍历数组,但是在判断重复时使用 `item.propName`,这样会导致判断的属性名永远为字符串 "propName",而不是实际传入的属性名。
正确的写法应该是使用 `item[propName]` 来获取属性值,这样才能动态地获取传入的属性名。
以下是修改后的代码:
```javascript
function isDuplicate(arr, propName){
let tempObj = {};
arr.forEach(item => {
if (tempObj[item[propName]]) {
return true;
}
tempObj[item[propName]] = true;
});
return false;
}
let arr = [{names:1,aee:123},{names:1,aee:15456423},{names:2,aee:4658456}];
if(isDuplicate(arr, 'names')){
console.log('names属性存在重复');
}else{
console.log('names属性不存在重复');
}
```
输出结果为:names属性存在重复
阅读全文
相关推荐
基于LSTM神经网络的温度预测分析
介绍
基于LSTM神经网络的温度预测分析,探索使用LSTM神经网络对中国湖北省孝感市的气温进行预测,并且评估其预测精度。
软件架构
软件架构说明
安装教程
pip install --save pandas numpy sklearn tensorflow
**目 录**
. 课程背景及意义 2]()
[2. 实验目的: 2]()
[3. 数据集: 3]()
[3.1 数据来源 3]()
[3.2 数据清洗 4]()
[3.3 数据标准化 4]()
[4. 实验步骤: 5]()
[4.1 数据获取 5]()
[4.2 数据处理 7]()
[4.3 LSTM模型构建与训练 10]()
[5. 结果分析 18]()
[6. 实验总结 21]()
1. # <a name