这里收集一下看到的数据处理方法和技巧,以及在实际工作中碰见的。
1.copy Array 的6种方法
let arr = [1,2,3,4,5,6];
// 解构
console.log('[...arr]:',[...arr]);
// Array.from()方法
console.log('Array.from(arr):',Array.from(arr));
// slice方法
console.log('arr.slice():',arr.slice());
// map方法重构数据
console.log('arr.map(v => v):',arr.map(v => v));
// filter方法
console.log('arr.filter(v => true):',arr.filter(v => true));
// Object.assign()方法
console.log('Object.assign([],arr):',Object.assign([],arr));
2.Object.assign(target, source)
参考https://blog.csdn.net/thcoding_cat/article/details/107167118 1.5.3合并对象
Object.assign()方法可以用来新建简单对象和合并对象,是浅拷贝
vue中使用,假使需要重置data或者data中的部分数据:
//this.$data 获取当前的data
//this.$options.data() 获取组件初始状态下的data
//比如想要重置data中form表单的数据
Object.assign(this.$data.form, this.$options.data().form);
//重置data的数据
Object.assign(this.$data, this.$options.data());
3.对象数组的处理
这里的对象数据指的是数组中存放的是对象,而不是基本数据类型。经常在工作中碰见对象数据的处理,比如求对象数组的交集,根据对象数组中的对象的某个属性来排序等,反而是那些面试题中的基本数据类型数组,在工作中,一点都用不上。
//收集对象数组中的某个属性,组成数组
let arr = [
{
id: '1',
name:'1号'
},
{
id: '2',
name: '2号'
},
{
id:'3',
name: '3号'
}
];
//["1","2","3"]
console.log(JSON.stringify(arr.map(v => v.id)));
//对象数组的交集