{"id":24711808,"url":"https://github.com/sunthecoder/data-manipulation","last_synced_at":"2026-05-17T18:12:26.340Z","repository":{"id":230616292,"uuid":"779799287","full_name":"SunTheCoder/Data-Manipulation","owner":"SunTheCoder","description":null,"archived":false,"fork":false,"pushed_at":"2024-03-31T00:33:23.000Z","size":24,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-27T07:15:52.346Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SunTheCoder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-03-30T20:28:33.000Z","updated_at":"2024-03-30T20:39:42.000Z","dependencies_parsed_at":"2024-03-30T21:32:10.373Z","dependency_job_id":"0896aacf-ff26-4945-9ac8-c93c06bb4c83","html_url":"https://github.com/SunTheCoder/Data-Manipulation","commit_stats":null,"previous_names":["sunthecoder/data-manipulation"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SunTheCoder%2FData-Manipulation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SunTheCoder%2FData-Manipulation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SunTheCoder%2FData-Manipulation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SunTheCoder%2FData-Manipulation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SunTheCoder","download_url":"https://codeload.github.com/SunTheCoder/Data-Manipulation/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244918582,"owners_count":20531686,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-27T07:15:57.794Z","updated_at":"2026-05-17T18:12:26.286Z","avatar_url":"https://github.com/SunTheCoder.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# POJO Data Manipulation Practice\n\nIn this practice, you will write functions that access and manipulate data from\na real data set on fruit types. The data set is in the __fruit-data.js__ file.\n\nThe data set is structured as an array, including 31 objects. Each object\nrepresents the data for a single fruit. The example below shows the data\nstructure for each object:\n\n```javascript\n// fruit-data.js file\n\nconst fruits = [        // large array of 31 different fruits\n    {                       // each fruit represented by an object\n        \"genus\": \"Malus\",\n        \"name\": \"Apple\",\n        \"id\": 6,\n        \"family\": \"Rosaceae\",\n        \"order\": \"Rosales\",\n        \"nutritions\": {         // nested object contains nutrition information\n            \"carbohydrates\": 11.4,\n            \"protein\": 0.3,\n            \"fat\": 0.4,\n            \"calories\": 52,\n            \"sugar\": 10.3\n        }\n    },\n    // ...followed by 30 more fruit objects with the same structure\n];\n```\n\nYou will need to use many of the POJO methods that you have already learned to\ncomplete each task.\n\n## Phase 0: Setup\n\nTo get started, use the following commands:\n\n1. Clone the starter repository\n2. `cd` into the project directory\n3. `npm install` to install dependencies\n\nThe `npm test` command will run all the tests. If you have any trouble with this\ndon't hesitate to ask a TA for help!\n\nTo test only one of the test files at a time, you can run the command,\n`npm test test/\u003ctest file name\u003e` (e.g.\n`npm test test/01-fruit-data-structure-spec.js`), where `test` is the name of\nthe test folder. You must run this command one directory above the `test`\ndirectory.\n\n_You may notice the `package.json`/`package-lock.json` files and\n`node_modules` directory. You do not need to edit any of those contents. Those\nfiles are what we use to package the project and create the test cases._\n\n## Phase 1: Understanding the Data Structure\n\nStart in the __problems/01-fruit-data-structure.js__ file. Write out six\nfunctions according to the directions. The return values of these functions will\nhelp you understand the structure of the data within the `fruits` array.\n\nComplete each function in order, because you may be able to use some of your\nfunctions as helper functions in later problems.\n\nRun `npm test test/01-fruit-data-structure-spec.js` to run all the test specs\nfor this phase. When all of the tests pass, you can move on to Phase 2.\n\n## Phase 2: Manipulating Data within Objects\n\nIn this phase, you will practice manipulating the data within the data objects;\nadding keys and values, updating key names and values, and deleting key-value\npairs.\n\nRun `npm test test/02-manipulate-fruit-objects-spec.js` to run all the test\nspecs for this phase. There are multiple test specs for each problem. Run the\ntests often, as the error messages for the failed tests will help you to debug\nyour code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunthecoder%2Fdata-manipulation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsunthecoder%2Fdata-manipulation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunthecoder%2Fdata-manipulation/lists"}