码迷,mamicode.com
首页 > 编程语言 > 详细

遇到的数组问题

时间:2019-10-17 14:06:18      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:elb   details   ISE   reduce   去重   const   pre   mode   实例   

一、数组的那些事

1、js去除空对象

方法
 
    isEmpty(obj) {
       let empty = true;
       for (const key in obj) {
         if (obj[key]) {
            empty = false;
            break;
          }
        }
        return empty;
     }
     filter(array) {
        return array.filter(item => !this.isEmpty(item));
     }
  

实例

实例
 
    isEmpty(obj) {
       let empty = true;
       for (const key in obj) {
         if (obj[key]) {
            empty = false;
            break;
          }
        }
        return empty;
     }
     filter(array) {
        return array.filter(item => !this.isEmpty(item));
     }
    created() {
      this.InitLoad();
    }
    // 初始化数据
    InitLoad() {
      const oldArray = [
        {
          Code: "11",
          Name: "易烊千玺"
        },
        {
          Code: "12",
          Name: "王俊凯"
        },
        {
          Code: "12",
          Name: "王源"
        },
        {
          Code: "1",
          Name: "四叶草"
        },
        {
          Code: "",
          Name: ""
        }
      ];
      console.log(oldArray);
      const newArray = this.filter(oldArray);
      console.log(newArray);
    }
  

2、数组去重

(1)、方法1

removalData(arrData) {
    const hash = {};
    arrData= arrData.reduce(function(item, next) {
            //id是你要以什么属性去重
        hash[next.id] ? '' : hash[next.id] = true && item.push(next);
        return item
    }, [])
    return arrData;
}

(2)、方法2

newArray.filter(item => !oldArray.some(ele=>ele.id===item.id));

3、ElementUI中获取select的label值

<el-select v-model="value" @change="changeLbale(value)">
    <el-option 
        v-for="item in options" 
        :label="item.label" 
        :key="item.value" 
        :value="item.value">
    </el-option>
</el-select>
value = "";
getName = "";
options = [
    {
        value: "选项1",
        label: "黄金糕"
    }
]
changeLbale(val){
    let obj = {};
    obj = this.options.find((item) => {
        return item.value === val;
    })
    this.getName = obj.label;
}

遇到的数组问题

标签:elb   details   ISE   reduce   去重   const   pre   mode   实例   

原文地址:https://www.cnblogs.com/DCL1314/p/11691161.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!