-
-
Notifications
You must be signed in to change notification settings - Fork 125
ES6: Use Destructuring Assignment to Assign Variables from Objects #213
Comments
Overall, I feel the challenge is a little confusing as it's examples are based on an object and it is wanting you to complete the challenege on a string. I think the examples should maybe mention you can use destructuring to grab properties also from strings, or maybe change the challenge to mimic the example a little closer. |
While I agree that the instructions are confusing, I feel like it is also good to at least try to apply a concept like this to a more specific situation. Maybe rather than change the challenge we could add a hint to the guide. That way the camper is still being pushed to figure it out on their own, but they have a place to go for help if they get stuck. Thoughts? |
Yeah I think it is important as I never thought of pulling length property of a string through destructuring. We should probably say you can also destructure built-in property values from objects as well
Here is a forum post of complaints: https://forum.freecodecamp.org/t/beta-feedback-es6-confusing-challenge-description-destructuring-assignment/172303 |
I think you're right, as it would help to avoid the frustration described in that post. I was just worried about there being too much hand holding through this challenge. Your solution above is good because it still forces the camper to apply the reassignment of length to len. |
I think this is a poorly written challenge. It is confusing as it relies on campers having an understanding of the difference between string primitives and string objects and how JavaScript automatically converts primitives to objects in order to apply methods or lookup properties. Given we don't seem to cover these facets of strings in the curriculum prior to this challenge it is unfair to expect them to figure this out in a challenge that is supposed to be about learning destructuring objects. I think we should change the challenge to explicitly use an object. |
@johnkennedy9147 In that case, we would need to update the the tests and contents of this challenge. Could we do something similar the next challenge that uses a nested object? For example: const AVG_TEMPERATURES = {
today: 77.5,
tomorrow: 79
};
function getTempOfTmrw(avgTemperatures) {
"use strict";
// change code below this line
const tempOfTomorrow = undefined; // change this line
// change code above this line
return tempOfTomorrow;
}
console.log(getTempOfTmrw(AVG_TEMPERATURES)); // should be 79 |
# [3.2.0](v3.1.2...v3.2.0) (2018-09-20) ### Bug Fixes * **challenges:** a sentence didn't make sense, so I modified it ([3d77920](3d77920)), closes [#18046](https://github.com/freeCodeCamp/curriculum/issues/18046) * **challenges:** add missing test to check for for css class ([6e42f53](6e42f53)), closes [#254](#254) * **challenges:** add note at bottom of description in d3 challenge ([c60d332](c60d332)), closes [#17767](https://github.com/freeCodeCamp/curriculum/issues/17767) * **challenges:** add solution, test to project euler problems ([f572324](f572324)) * **challenges:** add solutions to first 3 debugging challenges ([c2e5794](c2e5794)) * **challenges:** add test to check user is using \W in Regex ([296cf44](296cf44)) * **challenges:** add test to lookahead regex challenge ([e044de4](e044de4)), closes [#209](#209) * **challenges:** added code tags ([065036b](065036b)), closes [#18054](https://github.com/freeCodeCamp/curriculum/issues/18054) * **challenges:** added solutions to project euler problems 28, 31 ([5e12499](5e12499)) * **challenges:** adding code tags to description ([57d5b55](57d5b55)), closes [#17911](https://github.com/freeCodeCamp/curriculum/issues/17911) * **challenges:** adding negative integer to challenge to improve tests ([#211](#211)) ([2adc516](2adc516)) * **challenges:** allow user to comment out undesired code ([72c2407](72c2407)) * **challenges:** challenge description is formatted and concised ([dcd8e45](dcd8e45)) * **challenges:** change challengeType to fix help button ([ddcc661](ddcc661)) * **challenges:** change definition of complementary colors ([#299](#299)) ([c022dff](c022dff)) * **challenges:** check for shorthand character in regex ([#238](#238)) ([0bf8d32](0bf8d32)) * **challenges:** commented output was wrong ([3cb972e](3cb972e)) * **challenges:** converts delete html test to regex ([d80d98d](d80d98d)), closes [#251](#251) * **challenges:** corrected challenge instructions ([159203a](159203a)) * **challenges:** fix [#17155](https://github.com/freeCodeCamp/curriculum/issues/17155) ([cb21e59](cb21e59)) * **challenges:** fix confusing destructuring es6 challenge ([1a4f6a8](1a4f6a8)), closes [#213](#213) * **challenges:** fix description in css variable fallback challenge ([bc33a03](bc33a03)), closes [freeCodeCamp/freeCodeCamp#17546](freeCodeCamp/freeCodeCamp#17546) * **challenges:** fix flex direction row regex ([25ea07e](25ea07e)), closes [#260](#260) * **challenges:** fix grammar and spelling errors ([#244](#244)) ([b0c0b74](b0c0b74)) * **challenges:** fix grid-gap shorthand regex ([#232](#232)) ([a49f45e](a49f45e)), closes [#229](#229) * **challenges:** fix grid-gap shorthand regex ([#237](#237)) ([b369fa0](b369fa0)), closes [#229](#229) * **challenges:** fix regex in a JS challenge ([#257](#257)) ([6058da3](6058da3)) * **challenges:** fix typo in wrap-reverse description ([434ea5c](434ea5c)) * **challenges:** fixed challenge accepted without any new code ([96b39c1](96b39c1)), closes [#198](#198) * **challenges:** fixed esc chars in managing packages with npm lesson ([6335a15](6335a15)) * **challenges:** fixed tests to check for pre operators ([ded4705](ded4705)), closes [#199](#199) * **challenges:** fixed typo in algorithms and ds ([31957a4](31957a4)) * **challenges:** Incorrect html closing tag ([a1464f0](a1464f0)) * **challenges:** insufficient objectives for javascript_algorithm/es6/19 ([7707b18](7707b18)) * **challenges:** missing space in code example ([c50cc4e](c50cc4e)) * **challenges:** remove race condition from react lifecycle challenge ([a20ac56](a20ac56)) * **challenges:** removed duplicate css top property ([0a79c58](0a79c58)) * **challenges:** rephrased wording in applied visual design ([#268](#268)) ([d560d58](d560d58)) * **challenges:** replaced em tags with code tags ([68daaf7](68daaf7)), closes [#18048](https://github.com/freeCodeCamp/curriculum/issues/18048) * **challenges:** reword test text and improve test accuracy ([f834a98](f834a98)) * **challenges:** small edit to correct sematic issues ([322bf80](322bf80)) * clickjacking challenge description ([037990c](037990c)) * **challenges:** spelling and grammar errors addressed ([8f17adf](8f17adf)) * **challenges:** typo ([4f7faba](4f7faba)) * **challenges:** update test and add solution for DS challenge ([d1b2075](d1b2075)), closes [#164](#164) * **challenges:** Update test to include whitespace ([#272](#272)) ([77689f4](77689f4)), closes [#271](#271) * **schema:** change schema and unpack script ([b014b23](b014b23)) ### Features * **challenges:** add browser fallback challenge ([b090e8b](b090e8b)), closes [freeCodeCamp/freeCodeCamp#17546](freeCodeCamp/freeCodeCamp#17546)
🎉 This issue has been resolved in version 3.2.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
# [3.2.0](freeCodeCamp/curriculum@v3.1.2...v3.2.0) (2018-09-20) ### Bug Fixes * **challenges:** a sentence didn't make sense, so I modified it ([3d77920](freeCodeCamp@3d77920)), closes [#18046](https://github.com/freeCodeCamp/curriculum/issues/18046) * **challenges:** add missing test to check for for css class ([6e42f53](freeCodeCamp@6e42f53)), closes [freeCodeCamp#254](freeCodeCamp#254) * **challenges:** add note at bottom of description in d3 challenge ([c60d332](freeCodeCamp@c60d332)), closes [#17767](https://github.com/freeCodeCamp/curriculum/issues/17767) * **challenges:** add solution, test to project euler problems ([f572324](freeCodeCamp@f572324)) * **challenges:** add solutions to first 3 debugging challenges ([c2e5794](freeCodeCamp@c2e5794)) * **challenges:** add test to check user is using \W in Regex ([296cf44](freeCodeCamp@296cf44)) * **challenges:** add test to lookahead regex challenge ([e044de4](freeCodeCamp@e044de4)), closes [freeCodeCamp#209](freeCodeCamp#209) * **challenges:** added code tags ([065036b](freeCodeCamp@065036b)), closes [#18054](https://github.com/freeCodeCamp/curriculum/issues/18054) * **challenges:** added solutions to project euler problems 28, 31 ([5e12499](freeCodeCamp@5e12499)) * **challenges:** adding code tags to description ([57d5b55](freeCodeCamp@57d5b55)), closes [#17911](https://github.com/freeCodeCamp/curriculum/issues/17911) * **challenges:** adding negative integer to challenge to improve tests ([freeCodeCamp#211](freeCodeCamp#211)) ([2adc516](freeCodeCamp@2adc516)) * **challenges:** allow user to comment out undesired code ([72c2407](freeCodeCamp@72c2407)) * **challenges:** challenge description is formatted and concised ([dcd8e45](freeCodeCamp@dcd8e45)) * **challenges:** change challengeType to fix help button ([ddcc661](freeCodeCamp@ddcc661)) * **challenges:** change definition of complementary colors ([freeCodeCamp#299](freeCodeCamp#299)) ([c022dff](freeCodeCamp@c022dff)) * **challenges:** check for shorthand character in regex ([freeCodeCamp#238](freeCodeCamp#238)) ([0bf8d32](freeCodeCamp@0bf8d32)) * **challenges:** commented output was wrong ([3cb972e](freeCodeCamp@3cb972e)) * **challenges:** converts delete html test to regex ([d80d98d](freeCodeCamp@d80d98d)), closes [freeCodeCamp#251](freeCodeCamp#251) * **challenges:** corrected challenge instructions ([159203a](freeCodeCamp@159203a)) * **challenges:** fix [#17155](https://github.com/freeCodeCamp/curriculum/issues/17155) ([cb21e59](freeCodeCamp@cb21e59)) * **challenges:** fix confusing destructuring es6 challenge ([1a4f6a8](freeCodeCamp@1a4f6a8)), closes [freeCodeCamp#213](freeCodeCamp#213) * **challenges:** fix description in css variable fallback challenge ([bc33a03](freeCodeCamp@bc33a03)), closes [freeCodeCamp/freeCodeCamp#17546](freeCodeCamp/freeCodeCamp#17546) * **challenges:** fix flex direction row regex ([25ea07e](freeCodeCamp@25ea07e)), closes [freeCodeCamp#260](freeCodeCamp#260) * **challenges:** fix grammar and spelling errors ([freeCodeCamp#244](freeCodeCamp#244)) ([b0c0b74](freeCodeCamp@b0c0b74)) * **challenges:** fix grid-gap shorthand regex ([freeCodeCamp#232](freeCodeCamp#232)) ([a49f45e](freeCodeCamp@a49f45e)), closes [freeCodeCamp#229](freeCodeCamp#229) * **challenges:** fix grid-gap shorthand regex ([freeCodeCamp#237](freeCodeCamp#237)) ([b369fa0](freeCodeCamp@b369fa0)), closes [freeCodeCamp#229](freeCodeCamp#229) * **challenges:** fix regex in a JS challenge ([freeCodeCamp#257](freeCodeCamp#257)) ([6058da3](freeCodeCamp@6058da3)) * **challenges:** fix typo in wrap-reverse description ([434ea5c](freeCodeCamp@434ea5c)) * **challenges:** fixed challenge accepted without any new code ([96b39c1](freeCodeCamp@96b39c1)), closes [freeCodeCamp#198](freeCodeCamp#198) * **challenges:** fixed esc chars in managing packages with npm lesson ([6335a15](freeCodeCamp@6335a15)) * **challenges:** fixed tests to check for pre operators ([ded4705](freeCodeCamp@ded4705)), closes [freeCodeCamp#199](freeCodeCamp#199) * **challenges:** fixed typo in algorithms and ds ([31957a4](freeCodeCamp@31957a4)) * **challenges:** Incorrect html closing tag ([a1464f0](freeCodeCamp@a1464f0)) * **challenges:** insufficient objectives for javascript_algorithm/es6/19 ([7707b18](freeCodeCamp@7707b18)) * **challenges:** missing space in code example ([c50cc4e](freeCodeCamp@c50cc4e)) * **challenges:** remove race condition from react lifecycle challenge ([a20ac56](freeCodeCamp@a20ac56)) * **challenges:** removed duplicate css top property ([0a79c58](freeCodeCamp@0a79c58)) * **challenges:** rephrased wording in applied visual design ([freeCodeCamp#268](freeCodeCamp#268)) ([d560d58](freeCodeCamp@d560d58)) * **challenges:** replaced em tags with code tags ([68daaf7](freeCodeCamp@68daaf7)), closes [#18048](https://github.com/freeCodeCamp/curriculum/issues/18048) * **challenges:** reword test text and improve test accuracy ([f834a98](freeCodeCamp@f834a98)) * **challenges:** small edit to correct sematic issues ([322bf80](freeCodeCamp@322bf80)) * clickjacking challenge description ([037990c](freeCodeCamp@037990c)) * **challenges:** spelling and grammar errors addressed ([8f17adf](freeCodeCamp@8f17adf)) * **challenges:** typo ([4f7faba](freeCodeCamp@4f7faba)) * **challenges:** update test and add solution for DS challenge ([d1b2075](freeCodeCamp@d1b2075)), closes [freeCodeCamp#164](freeCodeCamp#164) * **challenges:** Update test to include whitespace ([freeCodeCamp#272](freeCodeCamp#272)) ([77689f4](freeCodeCamp@77689f4)), closes [freeCodeCamp#271](freeCodeCamp#271) * **schema:** change schema and unpack script ([b014b23](freeCodeCamp@b014b23)) ### Features * **challenges:** add browser fallback challenge ([b090e8b](freeCodeCamp@b090e8b)), closes [freeCodeCamp/freeCodeCamp#17546](freeCodeCamp/freeCodeCamp#17546)
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-objects
Decription
Use destructuring to obtain the length of the input string str, and assign the length to len in line.
I believe 'in line' should be a single word: 'inline'
The text was updated successfully, but these errors were encountered: