JavaScript数据处理

1、把两个数组(array)处理为对象(object)

var [list1,list2]=[[1,2,3,4],['a','b','c','d']];
var obj = new Object();
list2.forEach((ele1,index1) =>{
  list1.forEach((ele2,index2) =>{
    if(index1 === index2 ){
      obj[ele1] = ele2
    }
  });
});
console.log(obj)//{a: 1, b: 2, c: 3, d: 4}

2、对象(obdect)分别取出key和value

//获取key
Object.keys(obj)
//获取value
Object.values(obj)

3、使用set向对象插入数据一条或者多条数据

//name:是变量名; key:是键; value:是值
this.$set(name,key,value)

4、当有判空操作时,用模板字符串方式拼接数据

//name是变量名,使用这个可避免拼接出现NaN或undefined
`${name || ''}${name || ''}`

5、树过滤数据

1.监听绑定值
 filterName(val) {
   this.$refs.tree.filter(val);
 };
2.tree自带的方法 :filter-node-method="filterNode"
 filterNode(value, data) {
   if (!value) return true;
     return data.name?.indexOf(value) !== -1 || data?.code?.indexOf(value) !== -1;
 },

6、两个数组,从数组对象中过滤某条对象id存在数组中

array1 = [1,2,3];
array2 = [
 {id:1,value:'one'},
 {id:2,value:'two'},
 {id:3,value:'three'},
 {id:4,value:'four'},
];
let arr = array2.filter(item => !array1.includes(item.id));//[{id:4,value:'four'}]

7、filter的用法:数组对象过滤

filter():会创建一个新的数组;不会改变原数组;return 取布尔值,true就push入新数组,反之不会。

#eg1:
var arr = [
 {id:1,value:'one'},
 {id:2,value:'two'},
 {id:3,value:'three'},
 {id:4,value:'four'},
];
var newArr = arr.filter(item => item.value === 'one');//[{id:1,value:'one'}]
#eg2:表格数据过滤;可以通过筛选符合行数据的条件。
*注意*:如果computed定义变量,在data里面就不用定义了
:data="tableData"//表格数据
tableData(){//computed定义的变量
  return this.requiredData.filter(val => val?.propName.indexOf(this.keyWord) !== -1);//r行数据包含关键字返回符合条件集合
},

8、some函数

some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
some() 方法会依次执行数组的每个元素:
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。
注意: some() 不会对空数组进行检测。
注意: some() 不会改变原始数组。

//用some函数找出含有2的字符串,some返回的是布尔值(true/false)
let  data = [
	{do:'1'},
	{do:'2'},
 ]
let flag = data.some((e) => e.do.includes('2'));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值