vue如何判斷數組中的對象是否包含某個值

判斷數組中的對象是否包含某個值

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 調用這些方法

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: