ascor
Version:
一些常用的简单的js工具
31 lines (30 loc) • 1.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.arrayHasRepeat = void 0;
var index_1 = require("../is/index");
/**
* 判断数组是否有重复数据,针对一维数组,使用全等于判断 例如33和'33' 不相等,如果元素是对象则递归对比,如果对象包含方法函数则不相等
* @param arr 传入需要搜索的数组
* @param key 数组元素为对象时,可传入对象的唯一key进行对比,不传则深度对比,只支持一维数组 如 [{a:1},{a:2,c:2},{a:3}]
* @return Boolean 返回布尔值
*/
exports.arrayHasRepeat = function (arr, key) {
if (!index_1.isArray(arr)) {
return false;
}
for (var i = 0; i < arr.length; i++) {
for (var j = i + 1; j < arr.length; j++) {
if (index_1.isEmpty(key)) {
if (index_1.isDeepEqual(arr[i], arr[j])) {
return true;
}
}
else {
if (arr[i][key] === arr[j][key]) {
return true;
}
}
}
}
return false;
};