//对象拷贝
export function copyObj(o){
return JSON.parse(JSON.stringify(o));
}
// 是否是数组
export function isArray(o) {
return Object.prototype.toString.call(o).slice(8, -1) === 'Array'
}
// 对象数组查找元素
export function findObjArr(arr, key, value) {
arr = isArray(arr) ? arr: [];
return arr.find(function(v) {
return v[key] == value;
});
}
// 对象数组查找元素
export function findObjArrIndex(arr, key, value) {
return arr.indexOf(findObjArr(arr, key, value));
}
// 普通数组去重
export function repeatArr(arr){
var data = isArray(arr) ? arr : [];
for (var i = 0; i < data.length; i++) {
for (var j=i+1;j<data.length;) {
if (data[i] == data[j]) {
data.splice(j, 1);
}
else j++;
}
}
return data;
}
// 对象数组去重
export function repeatObjArr(arr, key){
var data = isArray(arr) ? arr : [];
for (var i = 0; i < data.length; i++) {
for (var j=i+1;j<data.length;) {
if (data[i][key] == data[j][key]) {
data.splice(j, 1);
}
else j++;
}
}
return data;
}
// 对象数组判断重复
export function isRepeatObjArr(arr, key){
var data = isArray(arr) ? arr : [];
var repeatJson = {};
for (var i = 0; i < data.length; i++) {
if(repeatJson[data[i][key]]){
return true
} else {
repeatJson[data[i][key]] = true;
}
}
return data;
}