当前位置 : 主页 > 网络编程 > JavaScript >

vue如何判断数组中的对象是否包含某个值

来源:互联网 收集:自由互联 发布时间:2023-02-08
目录 判断数组中的对象是否包含某个值 判断对象是否包含某个属性,el-table formatter判断 1.表格部分 2.方法体部分 判断数组中的对象是否包含某个值 xxx (array, str) { var index = array.findIndex
目录
  • 判断数组中的对象是否包含某个值
  • 判断对象是否包含某个属性,el-table formatter判断
    • 1.表格部分
    • 2.方法体部分

判断数组中的对象是否包含某个值

xxx (array, str) {
     var index = array.findIndex(item => item.id=== str)
     // var index = array.indexOf(str)  // 当数组里的对象为字符串时用这个方法更简单
     return index  // -1 说明array中不存在id为str的对象
}

判断对象是否包含某个属性,el-table formatter判断

当前的业务逻辑是表格中大概有四五个字段需要判断,如果是null或者0就返回暂无数据,有值的话就返回对应的值,如下图:

由于需要进行的操作是一样的,所以用一个formatter就可以了,所以要判断对应的字段,代码如下:

1.表格部分

<el-table-column
  label="报送数量"
  prop="vulWarnNum"
  width="140"
  align="center"
  :formatter="dataFormat"
/>

2.方法体部分

dataFormat(row, column) {
      const field = column.property
      if (Object.prototype.hasOwnProperty.call(row, field)) {
        if (row[field] == null || row[field] === 0) {
          return '暂不要求'
        }
      }
      return row[field]
    }

其中Object.prototype.hasOwnProperty.call(row, field)就是判断row中是否包含对应的字段名称

原先的写法是

row.hasOwnProperty(field)

现在换成

Object.prototype.hasOwnProperty.call(row, field)

但是报错 ESLint: Do not access Object.prototype method 'hasOwnProperty' from target object.(no-prototype-builtins)

所以最好是从 Object.prototype 调用这些方法

以上为个人经验,希望能给大家一个参考,也希望大家多多支持易盾网络。

上一篇:rollup打包引发对JS模块循环引用思考
下一篇:没有了
网友评论