-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