Могу ли я использовать функцию «этот» в TypeScript Array.map (), чтобы увеличить счетчик?Javascript

Форум по Javascript
Ответить
Anonymous
 Могу ли я использовать функцию «этот» в TypeScript Array.map (), чтобы увеличить счетчик?

Сообщение Anonymous »

Вот код, который я пытаюсь приступить к работе: < /p>

Код: Выделить всё

const playlist = {
playlist_idea_uri: uri.toString(),
type: 'master'
}
const insertedPlaylistIdResponse = await db
.insertInto('playlist')
.values(playlist)
.onConflict((oc) => oc.doNothing())
.returning('id')
.executeTakeFirst()
let songs = masterPlaylist.songs.map((song) => {
return {
track_name: song.trackName,
track_mb_id: song.trackMbId,
album_artwork_ref: song.albumArtwork?.ref.toString(),
created_at: song.createdAt
}
})
const insertedSongIdsResponse = await db
.insertInto('song')
.values(songs)
.onConflict((oc) => oc.doNothing())
.returning('id')
.execute()
var position = 0
if (insertedPlaylistIdResponse?.id) {
const playlistItems = insertedSongIdsResponse.map((songIdResponse) => {
if (this !== undefined) {
return undefined
} else {
const newPosition = this + 1
return {
playlist_id: insertedPlaylistIdResponse.id,
song_id: songIdResponse.id,
position: newPosition
}
}
}, position)
await db
.insertInto('playlist_item')
.values(playlistItems)
.execute()
}
Так что в основном я хочу вставить объект в таблицу Playlist , вставьте объекты песни в таблицу песни , возьмите полученный идентификатор s Эти вставленные песни и вставленные плейлиста и для идентификатора каждой песни карта в некий объект, который я могу затем вставить в другую таблицу под названием playlist_item , например:

Код: Выделить всё

const playlistItems = insertedSongIdsResponse.map((songIdResponse) => {
if (this !== undefined) {
return undefined
} else {
const newPosition = this + 1
return {
playlist_id: insertedPlaylistIdResponse.id,
song_id: songIdResponse.id,
position: newPosition
}
}
}, position)
Таблица Playlist_item имеет эту схему:

Код: Выделить всё

export interface PlaylistItemTable {
id: Generated
playlist_id: number
song_id: number
position: number
}
По сути, PlayListItem - это песня в списке воспроизведения, в определенной позиции (например, первая песня в списке воспроизведения будет иметь Position = 1 , следующая будет иметь позицию = 2 , и т. Д.
На сцене, на которой следует сосредоточиться, - это переменная Position , и могу ли я использовать параметр thisArg array.map ( ) Функция как своего рода итератор, который каждый раз он отображает, он будет увеличиваться, в зависимости от того, как я его использовал. может быть не определенным, но я не уверен, почему, потому что я проверил это прямо перед тем, как попытаться использовать его.
Любая помощь ценится!

Подробнее здесь: https://stackoverflow.com/questions/794 ... on-to-incr
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»