1.终极篇
Array . from ( new Set ([ 1 , 2 , 3 , 3 , 4 , 4 ])) //[1,2,3,4]
[... new Set ([ 1 , 2 , 3 , 3 , 4 , 4 ])] //[1,2,3,4]
2.开始篇
Array .prototype.distinct = function (){
var arr = this ,
result = [],
i,
j,
len = arr.length;
for (i = 0 ; i < len; i++){
for (j = i + 1 ; j < len; j++){
if (arr[i] === arr[j]){
j = ++i;
}
}
result.push(arr[i]);
} return result;
}
[ 1 , 2 , 3 , 3 , 4 , 4 ].distinct(); //[1,2,3,4]
取新数组存值,循环两个数组值相比较。
解构与扩展运算符
// //解构
// var a = 1;
// var b = 2;
// var c = 3;
// //ES6
// var [a,b,c] = [1,2,3]
// //对象解构
// var obj = {
// id:1,
// name:"abc",
// sex:"男",
// msg:"hello"
// }
// var id = obj.id;
// var name = obj.name;
// var {id,name,sex} = obj;
// //扩展运算符
// var arr = [1,2,3,4,5,6];
// [...arr] = [1,2,3,4,5,6];
案例地址:http://jingrao.tianyuyezi.com/vue-demo/vue-check/index.html
//去重 ES5
// for(var i=0;i<this.rightData.length;i++ ){
// if(v.id == this.rightData[i].id) return;
// };
this.rightData.push(v);
//ES6 set
this.rightData = [...new Set(this.rightData)];