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。