Freecodecamp: 変数は変化しているため、「const」ではなく「let」として定義する必要があります。

作成日 2017年03月03日  ·  3コメント  ·  ソース: freeCodeCamp/freeCodeCamp



Spread演算子を使用して、配列をインプレースで評価します


https://beta.freecodecamp.com/en/challenges/es6/use-the-spread-operator-to-evaluate-arrays-inplace

問題の説明


arr2変数はconstとして定義されていますが、演習で再定義できるはずです。

ブラウザ情報

  • ブラウザ名、バージョン:Google Chrome、バージョン56.0.2924.87(64ビット)
  • オペレーティングシステム:OS X El Capitan 10.11.6
  • モバイル、デスクトップ、またはタブレット:デスクトップ

考えられる解決策


この課題を解決するには、次の2つのオプションがあります。

  1. // change code below this line// change code above this line削除して、ユーザーがソリューション...arr1arr2インスタンス化に直接追加できるようにします。
    解決策は次のとおりです。
const arr1 = ['JAN', 'FEB', 'MAR', 'APR', 'MAY'];
const arr2 = [...arr1];
  1. arr2の初期インスタンス化を次のように変更します: let arr2 = [];
    解決策は次のとおりです。
const arr1 = ['JAN', 'FEB', 'MAR', 'APR', 'MAY'];
let arr2 = [];
// change code below this line
arr2 = [...arr1];
// change code above this line

これらのソリューションは両方とも、現在、特定のテストに合格しています。 ユーザーが理解しやすいように、この演習をクリーンアップしたいと思います。

最も参考になるコメント

@ Ethan-Arrowoodいいキャッチ!

実際、これはそのままで解決できますが、これはおそらく意図された方法です...:smile:

copy-contents-of-array

これを解決するために、 challengeSeedの形式を少し変更することをお勧めします。

const arr1 = ['JAN', 'FEB', 'MAR', 'APR', 'MAY'];

const arr2 = [];  // Change this line.

arr1.push('JUN');
console.log(arr2); // arr2 should not be affected

全てのコメント3件

@ Ethan-Arrowoodいいキャッチ!

実際、これはそのままで解決できますが、これはおそらく意図された方法です...:smile:

copy-contents-of-array

これを解決するために、 challengeSeedの形式を少し変更することをお勧めします。

const arr1 = ['JAN', 'FEB', 'MAR', 'APR', 'MAY'];

const arr2 = [];  // Change this line.

arr1.push('JUN');
console.log(arr2); // arr2 should not be affected

そして、.push()関数を使用するためのヒントを追加する必要があると思います。 または、 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Arrayから何かを使用するためのヒント。
私は先に進んで、今晩この変更を行います。

@ Ethan-Arrowoodは、ユーザーが学習中に少し気が遠くなる可能性のあるリソースを単に指すのではなく、課題のヒント機能を使用するためにMDNリンクを削除します。

それにもかかわらず、この問題とあなたの貢献に感謝します。

このページは役に立ちましたか?
0 / 5 - 0 評価