博客列表 >2020-05-29——ES6 数组去重 及 解构

2020-05-29——ES6 数组去重 及 解构

A 枕上人如玉、
A 枕上人如玉、原创
2020年05月30日 01:05:27734浏览

1.终极篇

  1. Array . from ( new Set ([ 1 , 2 , 3 , 3 , 4 , 4 ])) //[1,2,3,4]
  2. [... new Set ([ 1 , 2 , 3 , 3 , 4 , 4 ])] //[1,2,3,4]

2.开始篇

  1. Array .prototype.distinct = function (){
  2. var arr = this ,
  3. result = [],
  4. i,
  5. j,
  6. len = arr.length;
  7. for (i = 0 ; i < len; i++){
  8. for (j = i + 1 ; j < len; j++){
  9. if (arr[i] === arr[j]){
  10. j = ++i;
  11. }
  12. }
  13. result.push(arr[i]);
  14. } return result;
  15. }
  16. [ 1 , 2 , 3 , 3 , 4 , 4 ].distinct(); //[1,2,3,4]

取新数组存值,循环两个数组值相比较。

解构与扩展运算符

  1. // //解构
  2. // var a = 1;
  3. // var b = 2;
  4. // var c = 3;
  5. // //ES6
  6. // var [a,b,c] = [1,2,3]
  7. // //对象解构
  8. // var obj = {
  9. // id:1,
  10. // name:"abc",
  11. // sex:"男",
  12. // msg:"hello"
  13. // }
  14. // var id = obj.id;
  15. // var name = obj.name;
  16. // var {id,name,sex} = obj;
  17. // //扩展运算符
  18. // var arr = [1,2,3,4,5,6];
  19. // [...arr] = [1,2,3,4,5,6];

案例地址:http://jingrao.tianyuyezi.com/vue-demo/vue-check/index.html

  1. //去重 ES5
  2. // for(var i=0;i<this.rightData.length;i++ ){
  3. // if(v.id == this.rightData[i].id) return;
  4. // };
  5. this.rightData.push(v);
  6. //ES6 set
  7. this.rightData = [...new Set(this.rightData)];
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议