遇到的数组问题

Posted dcl1314

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了遇到的数组问题相关的知识,希望对你有一定的参考价值。

一、数组的那些事

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;
}

以上是关于遇到的数组问题的主要内容,如果未能解决你的问题,请参考以下文章

片段中ListView的setOnItemClickListener

几个关于js数组方法reduce的经典片段

自定义对话框片段

VSCode自定义代码片段—— 数组的响应式方法

VSCode自定义代码片段10—— 数组的响应式方法

错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”