[解決済み] FCC Refactor Global Variables Out of Functions, array is not using both methods used together.
2022-02-17 05:58:56
質問
新しいFCCの資料を読んでいるところです。確かに部分的に問題がある。これは、私は近づいたが、それは最終的なテストに合格しないので、まだ間違っている。
"newestBookListは["The Hound of the Baskervills", "Philosophiæ Naturalis Principia Mathematica", "Disquisitiones Arithmeticae", "A Brief History of Time"]" と一致するはずである。
console.log(newestBookList) を実行すると、正しい項目は削除されますが、"Brief History" が追加されません。何か提案はありますか?両方のメソッドが個別に動作し、一緒に動作しない理由や、BDD を使用してそれをテストする方法がよくわかりません...。
// the global variable
var bookList = ["The Hound of the Baskervilles", "On The Electrodynamics of Moving Bodies", "Philosophiæ Naturalis Principia Mathematica", "Disquisitiones Arithmeticae"];
/* This function should add a book to the list and return the list */
// New parameters should come before the bookName one
// Add your code below this line
function add(arr, bookName) {
return arr.concat([bookName]);
}
// Add your code above this line
/* This function should remove a book from the list and return the list */
// New parameters should come before the bookName one
// Add your code below this line
function remove(arr, bookName) {
if (bookList.indexOf(bookName) >= 0) {
var index = bookList.indexOf(bookName);
return bookList.slice(0, index).concat(bookList.slice(index + 1));
// Add your code above this line
}
}
var newBookList = add(bookList, 'A Brief History of Time');
var newerBookList = remove(bookList, 'On The Electrodynamics of Moving Bodies');
var newestBookList = remove(add(bookList, 'A Brief History of Time'), 'On The Electrodynamics of Moving Bodies');
//console.log(bookList);
//console.log(newBookList);
//console.log(newerBookList);
console.log(newestBookList);
解決方法は?
あなたの
remove
関数が参照しているのは
オリジナル
bookList
ではなく、渡された配列になります。すべての
bookList
への参照は
arr
の参照に渡されるパラメータ(
remove
関数)を使用します。
// the global variable
var bookList = ["The Hound of the Baskervilles", "On The Electrodynamics of Moving Bodies", "Philosophiæ Naturalis Principia Mathematica", "Disquisitiones Arithmeticae"];
/* This function should add a book to the list and return the list */
// New parameters should come before the bookName one
// Add your code below this line
function add(arr, bookName) {
return arr.concat([bookName]);
}
// Add your code above this line
/* This function should remove a book from the list and return the list */
// New parameters should come before the bookName one
// Add your code below this line
function remove(arr, bookName) {
if (arr.indexOf(bookName) >= 0) {
var index = arr.indexOf(bookName);
return arr.slice(0, index).concat(arr.slice(index + 1));
// Add your code above this line
} else console.log('n');
}
var newBookList = add(bookList, 'A Brief History of Time');
var newerBookList = remove(bookList, 'On The Electrodynamics of Moving Bodies');
const added = add(bookList, 'A Brief History of Time');
var newestBookList = remove(added, 'On The Electrodynamics of Moving Bodies');
//console.log(bookList);
// console.log(newBookList);
//console.log(newerBookList);
console.log(newestBookList);
をチェックすることを検討してください。
indexOf
は一度だけです。
function remove(arr, bookName) {
var index = arr.indexOf(bookName);
if (index === -1) return;
return [...arr.slice(0, index), ...arr.slice(index + 1)];
}
関連
-
[解決済み】TypeError: $(...).DataTable は関数ではありません。
-
[解決済み】node.js TypeError: path must be absolute or specify root to res.sendFile [JSONのパースに失敗しました]。
-
[解決済み】document.getElementByIDは関数ではありません。
-
[解決済み】XMLHttpRequestモジュールが定義されていない/見つからない
-
[解決済み】SyntaxError: 'import' と 'export' は 'sourceType: module' とだけ表示されるかもしれない - Gulp
-
[解決済み】React、Uncaught ReferenceError。ReactDOMは定義されていません
-
[解決済み】Javascript - ERR_CONTENT_LENGTH_MISMATCH
-
[解決済み】JavaScript ランタイムエラー:'$'が未定義です。
-
[解決済み】React.jsの配列の子要素のユニークキーを理解する
-
[解決済み】module.exports "モジュールが定義されていません"
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】TypeError: $(...).DataTable は関数ではありません。
-
[解決済み】Uncaught TypeError: nullのプロパティ'value'を読み取ることができない
-
[解決済み] Uncaught TypeError: 未定義のプロパティ 'top' を読み込めない
-
[解決済み】webpack: モジュールが見つかりません。Error: 解決できない(相対パスで)
-
[解決済み】最大呼び出しスタックサイズ超過エラーとその修正方法とは?
-
[解決済み】Javascriptのコールバック関数がFirefoxで「Callback is not a function」というエラーを投げる
-
[解決済み】Uncaught ReferenceError。Reactが定義されていない
-
[解決済み] ローカルファイルを開くことができません - Chrome: ローカルリソースのロードが許可されていません
-
[解決済み】DOMException: サポートされているソースが見つからなかったため、読み込みに失敗しました。
-
[解決済み】リソースはドキュメントと解釈されるが、MIMEタイプはapplication/zipで転送される