#javascript #vue.js #vuex #eslint #eslint-config-airbnb
Вопрос:
Я получаю ошибку eslint и как ее исправить?
const filter = state.playListSetData.filter(item => {
// 若兩相符合,抓播放設定底下的其他資料
if (item.uuid === payload[i].playerList[j].uuid) {
return item;
}
});
- ошибка, ожидаемая для возврата значения в конце функции array-обратный вызов-возврат
- ошибка, ожидаемая для возврата значения в конце функции со стрелкой, согласованная-возврат
for (let i = 0; i < payload.length; i = 1) {
// i表示數量window //遍歷每個channel
// window底下的播放清單
for (let j = 0; j < payload[i].playerList.length; j = 1) {
// 遍歷每個window底下的播放清單
// 比對window的播放清單跟播放設定的播放清單
const filter = state.playListSetData.filter(item => {
// 若兩相符合,抓播放設定底下的其他資料
if (item.uuid === payload[i].playerList[j].uuid) {
return item;
}
});
// 塞入所有window1的檔案
if (i === 0) {
// 遍歷視窗1過濾播放清單底下的檔案
for (let x = 0; x < filter[0].player_items.length; x = 1) {
state.playList1.push(filter[0].player_items[x].file);
}
} else if (i === 1) {
// 塞入所有window2的檔案
// 遍歷視窗2過濾播放清單底下的檔案
for (let x = 0; x < filter[0].player_items.length; x = 1) {
state.playList2.push(filter[0].player_items[x].file);
}
} else if (i === 2) {
// 塞入所有window3的檔案
// 遍歷視窗3過濾播放清單底下的檔案
for (let x = 0; x < filter[0].player_items.length; x = 1) {
state.playList3.push(filter[0].player_items[x].file);
}
} else {
// 塞入所有window4的檔案
// 遍歷視窗4過濾播放清單底下的檔案
for (let x = 0; x < filter[0].player_items.length; x = 1) {
state.playList4.push(filter[0].player_items[x].file);
}
}
}
}
Ответ №1:
const filter = state.playListSetData.filter(item => {
// 若兩相符合,抓播放設定底下的其他資料
if (item.uuid === payload[i].playerList[j].uuid) {
return item;
}
return false;
});
если вы возвращаете что-то для некоторых случаев, ваш линтер хочет, чтобы вы явно возвращали что-то для всех случаев. return undefined
Я думаю, это ближе к тому, что он делал раньше, но для фильтра это все равно
или просто
const filter = state.playListSetData.filter(item => {
// 若兩相符合,抓播放設定底下的其他資料
return item.uuid === payload[i].playerList[j].uuid;
});
фильтр заботится только о том, является ли он правдивым, и на самом деле не использует значение элемента, и поскольку вы получаете доступ к свойствам, похоже, что он всегда правдив, поэтому просто верните значение true.
Комментарии:
1.
return item
это вводит в заблуждение, так как обратный вызов фильтра ожидает, что будет возвращено логическое значение.