Vue.js+find方法根据数据的一个值来查找到这个数据的全部值

js中的find()方法   IE 11 及更早版本不支持

find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。

find() 方法为数组中的每个元素都调用一次函数执行:

  • 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
  • 如果没有符合条件的元素返回 undefined

注意: find() 对于空数组,函数是不会执行的。

注意: find() 并没有改变数组的原始值。

    onChange(val) {
      //首先val就是我取到的单个的值,可以输出看一下结果
      //console.log('val change', val)
      //这种情况是:我们能查找的是一个数组的情况下就要循环查找数据
      val.forEach(res => {
        //jblxlist这个数据就是我们要在这搜索全部的数据
        let index = this.jblxlist.find(item => {
          //定义一个index,index接收我们找到的全部数据
          return item.BMMC == res
          //当我们里面循环的值和我们要找的值相等的时候返回
        })
        //当找到这个值之后
        if (index) {
          //可以用一个变量接收,也可以用数组接收,这里我用了变量接收
          this.fromData.JQLX = index.BMZ
          console.log(this.fromData.JQLX, 666)
        }
      })
    },
 let newindex = this.resultList.findIndex((value, index, arr) => {
        return value.time == val.time;
      });
      if (newindex >= 0) {
        this.theindex = newindex;
        console.log(newindex, "newindex");
      }

 

这个错误通常发生在尝试访问数组的一个元素或者某个属性时,但是数组本身是 `undefined` 或者空的。在 Vue 的 esm.js 文件中,`find()` 方法用于在一个数组中查找满足指定条件的第一个元素,如果找不到符合条件的元素,则返回 `undefined`。 具体来说,当你调用 `.find()` 方法时,可能遇到了以下几种情况: 1. **数据初始化问题**:可能是你在尝试操作的数据还未被正确初始化或赋。检查相关的数据是否已经正确从后端接口获取,或者组件内部的初始状态设置是否正确。 ```javascript // 假设你在data中定义了一个数组 data() { return { items: [] // 初始为空数组 } } ``` 2. **动态数据获取**:确保在使用`.find()`之前,该数组已经包含了你需要的数据,或者提供了正确的生命周期钩子(如`mounted`)去异步加载数据。 3. **方法参数错误**:检查 `find()` 方法的参数是否正确传递了查询条件,例如,传入的是一个无效的回调函数或表达式。 ```javascript items.find(item => item.property === someValue) // 检查 `someValue` 是否存在 ``` 4. **引用错误**:检查变量名是否有拼写错误或者是否正确指向了预期的数据结构。 5. **Vue 实例化问题**:确保在调用 `find()` 之前,Vue 实例已经被正确地实例化并绑定到了 DOM 元素上。 为了解决这个问题,你可以先定位到引发错误的具体代码行,然后根据上述可能性逐一排查。如果有具体的代码示例,请提供,这样我能更准确地帮你找到问题所在。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

侧耳倾听...

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值