实际开发之数据操作——indexOf()、find()方法

find()、 indexOf()

find():数组方法,返回通过测试的数组的第一个元素的值
  • 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
  • 如果没有符合条件的元素返回 undefined
indexOf(): JavaScript String 对象的indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置。

示例如下:

先伪造数据:: 一个数组里面5个对象

   let headColumns = [{
                label: '单据编号',
                id: 'requisitionNumber',
                value:'-',
                span: 4,
              }, {
                label: '申请日期',
                id:'requisitionDate',
                span: 4,
              }, {
                id:'createdBy',
                label: '创建人',
                span: 3,
              }, {
                id:'companyName',
                label: '机构',
                span: 7,
              },{
                id:'departmentName',
                label: '责任中心',
                span: 5,
              }],

使用find方法打印一下headColumns的数据,可以看到find方接收一个方法,它的参数就是数组的每一个元素

   headColumns.find(o =>  console.log(o))
   
   // {label: "单据编号", id: "requisitionNumber", value: "-", span: 4}
   // {label: "申请日期", id: "requisitionDate", span: 4}
   // {id: "createdBy", label: "创建人", span: 3}
   // {id: "companyName", label: "机构", span: 7}
   // {id: "departmentName", label: "责任中心", span: 5}

在实际中当我们因为某个条件需要为id = createdBy这个数据所在的对象里面的value属性重新赋值的时候,就可以用如下的方式

   let obj = headColumns.find(o => o.id === 'createdBy')
   // {id: "createdBy", label: "创建人", span: 3}
   let i = headColumns.indexOf(obj)
   // 2 
   headColumns[i].value = '张三';

结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值