版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
一、获取children数组长度
getMaxFloor (treeData) { //获取树长度
let max = 0
function each (data) {
for(let i = 0;i<data.length;i++){
max++;
if(data[i].children){
each(data[i].children);
}
}
}
each(treeData);
return max
},
二、查找数组对象的属性是否有重复值
attrOnly(array, attr){
var first;
if(array.length>0){
for(let i=0;i<array.length;i++){
if(array[i][attr]!=""){
first = array[i][attr];
}
}
let num=0
for(let i=0;i<array.length;i++){
if(array[i][attr]==first){
num+=1
}
}
if(num>1){
return true
}else{
return false
}
}
},
//使用
attrOnly("要检测的数组","要查的对应的属性名称")
attrOnly(arr,"name")
arr=[{"name","张三"},{"age",20}]
三、elemenyui表格的自定义顺序,原理字符串的剪切替换
todown(index){//自定义顺序
if(this.maketableData[0].children.length<2){
return;
}
let old_ = this.maketableData[0].children[index-1] //本行数据
let new_ = this.maketableData[0].children[index] //下一行的数据
let tableData_ = JSON.parse(JSON.stringify(this.maketableData));
tableData_[0].children.splice(index,1,old_)
tableData_[0].children.splice(index-1,1,new_)
this.maketableData = tableData_;
},
toup(index){
if(this.maketableData[0].children.length<2){
return;
}
let old_ = this.maketableData[0].children[index-1] //本行数据
let new_ = this.maketableData[0].children[index-2] //上一行的数据
let tableData_ = JSON.parse(JSON.stringify(this.maketableData));
tableData_[0].children.splice(index-2,1,old_)
tableData_[0].children.splice(index-1,1,new_)
this.maketableData = tableData_;
},
四、根据json数组的属性值排序
creatCompare(propertyName) {
return function (obj1,obj2) {
var value1=obj1[propertyName];
var value2=obj2[propertyName];
if(value1<value2){
return -1
}else if(value1>value2){
return 1
}else {
return 0
}
}
},
使用:
var data=[{name:"xiaoming",age:13,weight:20,},{name:"liming",age:23,weight:21},{name:"zhangming",age:8,weight:66}]
console.log(data.sort(creatCompare("age")))
五、获取当前时间戳
let timestamp = Date.parse(new Date());
this.mouthvalue = this.base.format(new Date(timestamp),"yyyy-MM")
六、根据时间获得时间戳
let endDateVal = 2019-07-12 09:02:01
new Date(endDateVal).getTime()
七、数组从大到小排列
arr.sort(function(a,b){
return a>b;
//return a<b;//可试试这种的结果。
})
八、取数组中,每个元素的重复次数
//取重复数
arr = arr.sort()//先排序
function reactnum(arr){
let newArr = [];
for (let i = 0; i < arr.length;) {
let count = 0;
for (let j = i; j < arr.length; j++) {
if (arr[i] == arr[j]) {
count++;
}
}
newArr.push({
'Number': arr[i],
'count':count
});
i += count
}
return newArr
}
九、数组去重
function dedupe(array) {
return Array.from(new Set(array));
}
var arr = dedupe(arr)