我創建了一個函數,當用兩個參數調用函數時,會根據一些補充數據檢查參數,如果返回值爲false
,則返回該字段。array.find()返回的變量
我希望返回其中一個元素,如果false
並忽略/返回undefined如果true
。
getFirstInvalidField() {
const allFields = this.getPassengerDetailsFieldsRefs();
allFields[0].find(function (field){
if (!this.isValidField(field, 0)) {
return field;
}
}, this);
}
所以當isValidField
返回false
,它應該返回field
到getFirstInvalidField()
被稱爲地方。這似乎沒有發生。
const firstInvalidField = this.getFirstInvalidField();
這應返回field
而是返回undefined
始終。看來return field
聲明是沒有得到回傳和分配給firstInvalidField
[該文檔說](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)「_The find()方法返回的值數組中的第一個元素滿足提供的測試函數,否則返回undefined。「 – Teemu
@Teemu是的,它應該已經滿足並返回? – user1486133
在'allFields [0] .find()'之前放置一個'return'。你將結果返回給函數,但是不能從函數返回結果*。 – Archer