js 判断数组对象某一属性是否包含重复的值
1、使用set,map实现
-
let arr = [{
-
"name" : "张三",
-
"id" : 1
-
},{
-
"name" : "李四",
-
"id" : 3
-
},{
-
"name" : "张三",
-
"id" : 2
-
}];
-
-
-
let names = arr.map(item => item["name"]);
-
let nameSet = new Set(names);
-
-
if (nameSet.size == names.length) {
-
console.log("没有重复值");
-
} else {
-
console.log("有重复值");
-
}
2、使用标识判断是否存在
-
/**
-
* @param arr 如:var arr = [{name: "123", age : 123}, {name:"1234432", age : 1234324}]
-
* @param key 如:"name"
-
*
-
* @retutns boolean: true:不存在; false:存在重复
-
**/
-
function isRepeat(arr, key) {
-
var obj = {};
-
for (let i = 0; i < arr.length; i ) {
-
if (obj[arr[i][key]]) {
-
return false; // 存在
-
} else {
-
obj[arr[i][key]] = arr[i];
-
}
-
}
-
return true;
-
}
3、双层循环
-
/**
-
* @param arr 如:var arr = [{name: "123", age : 123}, {name:"1234432", age : 1234324}]
-
* @param key 如:"name"
-
*
-
* @retutns boolean: true:不存在; false:存在重复
-
**/
-
function isRepeat(arr, key) {
-
for (let i = 0; i < arr.length; i ) {
-
for (let j = i 1; j < arr.length; j ) {
-
if (arr[i][key] == arr[j][key]) {
-
return false;
-
}
-
}
-
}
-
return true;
-
}
-
var arr = [2, 3, 1, 5, 7,6, 4,9, 8];
-
-
for (let i = arr.lengtgh; i >= 0; i --) {
-
for (let j = 0; j < i; j ) {
-
if (arr[j] > arr[j 1]) {
-
var temp = arr[j];
-
arr[j] = arr[j 1];
-
arr[j 1] = temp;
-
}
-
}
-
}
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfifbcb
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24