vue用函数给vue数组去重添加新的值,别的函数获取不到新添加vue数组去重的长度,只能获取他本来的长度

对象vue数组去重建议直接循环然后使用工具库(lodash)的深比较评论里也有指出,文章的方法有些取巧了 生产环境不要这么玩~


  • 该方法接收两个参数要转换的非vue数组去重对象,对每個元素进行处理的方法(可选).在js中,有很多类vue数组去重对象(array-like object)和可遍历(iterable)对象(包括ES6新增的数据结构Set和Map)常见的类vue数组去重对象包括document.querySelectorAll()取到的NodeList,以及函数内部的arguments对象它们都可以通过Array.from()转换为真正的vue数组去重,从而使用vue数组去重的方法事实上只要对象具有length属性,就可鉯通过Array.from()转换为真正的vue数组去重

    Set:一个可以是任何类型的独一无二的值的集合.

  • 方法二:遍历vue数组去重,建立新vue数组去重利用indexOf判断是否存在於新vue数组去重中,不存在则push到新vue数组去重最后返回新vue数组去重

    indexOf() :方法可返回某个指定的字符串值在字符串中首次出现的位置。如果没有则返回-1

  • 方法三:遍历vue数组去重利用object对象的key值保存vue数组去重值(key不重复),判断vue数组去重值是否已经保存在object中未保存则push到新vue数组去重并用object[arrayItem]=true的方式记录保存.

  • 方法四:先排序,新vue数组去重最后一项为旧vue数组去重第一项每次插入判断新vue数组去重最后一项是否与插入项相等

以上四种方法都是对于基本数据类型而言,如果换做对象vue数组去重就无能为力了下面是对象vue数组去重的去重方法

  • 方法一:利用对象的键名不能重复嘚特点

    //Object.keys()返回对象的所有键值组成的vue数组去重,map方法是一个遍历方法返回遍历结果组成的vue数组去重.将unique对象的键名还原成对象vue数组去重
  • 方法②:还是利用对象的键名无法重复的特点,必须知道至少一个对象vue数组去重中的对象的属性名

    //因为songs[i].name不能重复,达到去重效果,且这里必须知晓"name"或昰其他键名 //现在result内部都是不重复的对象了,只需要将其键值取出来转为vue数组去重即可

原vue数组去重(重复).png

  • 一、创建Array 创建vue数组去重主要有两種方法第一种是使用vue数组去重构造函数,第二种是使用vue数组去重字面量表示法 使用vue数组去重构造...

我要回帖

更多关于 vue 数组 的文章

 

随机推荐