-3
當我有以下陣列(只是一個簡單的例子):的Javascript的indexOf不是一個函數使用整數
books:[
{id: 1, isbn: '0226020452', title: 'The Bridge on the Drina', author: 'Ivo Andrić',
description: '',
added: '2017-07-29'
},
{id: 2, isbn: '9781628724189', title: 'Bosnian Chronicle: A Novel', author: 'Ivo Andrić',
description: '',
added: '2017-07-29'
},
{id: 3, isbn: '9781856100229', title: 'Damned Yard and Other Stories', author: 'Ivo Andrić',
description: '',
added: '2017-07-29'
},
當我試圖執行以下功能我得到這個錯誤遺漏的類型錯誤:book.id.indexOf不是功能:
updateBook: function (state, updateBook) {
let foundBook = state.books.filter((book) => {
return book.id.indexOf(parseInt(updateBook.id, 10)) >= 0;
})
console.log(foundBook);
Object.assign(state.book[foundBook], updateBook);
}
這是怎麼回事?
'id'是一個數字,不是數組或字符串...? –
我認爲你需要'==',即'book.id == parseInt(updateBook.id,10)'並且注意'filter()'會返回給你一個數組 – Satpal
@NinaScholz - id是一個整數。 – Sasha