常用的数组操作

112 阅读1分钟
给数组里面添加新的键值对儿
第一种方法:
this.newArr = this.arr.map(item=>{
    return Object.assign({},item,{isshow:false,checked:false})
})
console.log(this.arr,this.newArr)//this.arr不变,this.newArr新增两个键值儿

第二种方法:
this.newArr = this.arr.map(v=>{ return {...v,checked:true} }) 
console.log(this.arr,this.newArr)//this.arr不变,this.newArr新增一个键值儿
将数组某一个属性值提取出来
this.newArr = this.arr.map(v=>{ return v.name}) 
console.log(this.arr,this.newArr)//this.arr不变,this.newArr =》 ['张三','李四','王五']
数组的求和
this.allPrice = money.reduce((n,m) => Number(n) + Number(m));
改变数组的key值
originArr = [{"username":'小蕊',"id_code":"110_25489654"}]
this.newArr = this.originArr.map(function(item,index){
     return {name:item.username,code:item.id_code}
});
将转换为[{name:'小蕊',code:'110_25489654'}]
将数组过滤只展示一些属性
var arr = [{id:'223',name:'小蕊',sex:'女'},{id:'223',name:'小蕊',sex:'女'},{id:'223',name:'小蕊',sex:'女'}];
arr.map(item=>{
    return{
        name:item.name,
        sex:item.sex
    }
})
[{}]
获取对应id的值,两个数组循环
let arr1 = [{id: 1, name: '1'}, {id: 2, name: '2'}, {id: 3, name: '3'}]
let arr2 = [{id: 2, name: 'xiaorui'}, {id: 1, name: 'xiaoheng'}]
let list = []
let hasIdArr = [];
arr2.forEach(({id}) => hasIdArr.push(id));
arr1.forEach((item) => {
	hasIdArr.includes(item.id) && (list.push(item))
})
console.log(list) //[{id: 1, name: '1'}, {id: 2, name: '2'}]