ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

freeCodeCamp-Basic JavaScript-记录集合

2021-06-11 20:36:40  阅读:619  来源: 互联网

标签:artist JavaScript value prop records tracks freeCodeCamp Basic id


时间:2021年6月11日

地点:重庆市重庆大学A区图书馆二楼

 

  上了一下午的课程,形策课后,迅速冲出研究生院楼,跑到外面吃了土豆肉丝,在宿舍待了一会,跑到教学楼来蹭空调;然而四六级周末设考场,所以只好来带图书馆敲代码了hhh。

  freeCodeCamp, 记录集合,上次耗费了一个小时,迟迟想不出来。这次在图书馆一次AC,很是激动呢,大概是旁边的xjj的鼓舞吧哈哈哈,大家可以当作练题,亲自试一试。

 

  题目:

记录集合 通过给定一个对象,用来表示部分音乐专辑收藏。 每张专辑都有几个属性和一个唯一的 id 号作为键值。 并非所有专辑都有完整的信息。

以 updateRecords 函数开始,这个函数需要一个对象 records,包含一个音乐专辑集合,一个 id,一个 prop(如 artist 或 tracks),和一个 value。 使用下面的规则完成函数来修改传递给函数的对象。

  • 函数必须始终返回整个音乐专辑集合对象。
  • 如果 prop 不是 tracks 并且 value 不是一个空字符串, 将相册的 prop 更新或设置为 value
  • 如果 prop 是 tracks 但专辑没有 tracks 属性,则应创建空数组并为其添加 value
  • 如果 prop 是 tracks 并且 value 不是一个空字符串,将 value 添加到相册现有 tracks 数组的末尾。
  • 如果 value 是空字符串,从专辑里删除指定的 prop

注意: 用 recordCollection 对象做为测试参数对象。

  

初始代码

// 设置 var recordCollection = {   2548: {     albumTitle: 'Slippery When Wet',     artist: 'Bon Jovi',     tracks: ['Let It Rock', 'You Give Love a Bad Name']   },   2468: {     albumTitle: '1999',     artist: 'Prince',     tracks: ['1999', 'Little Red Corvette']   },   1245: {     artist: 'Robert Palmer',     tracks: []   },   5439: {     albumTitle: 'ABBA Gold'   } };
// 只修改这一行下面的代码 function updateRecords(records, id, prop, value) {   return records; }
updateRecords(recordCollection, 5439, 'artist', 'ABBA');       题解代码   // 设置 var recordCollection = {   2548: {     albumTitle: 'Slippery When Wet',     artist: 'Bon Jovi',     tracks: ['Let It Rock', 'You Give Love a Bad Name']   },   2468: {     albumTitle: '1999',     artist: 'Prince',     tracks: ['1999', 'Little Red Corvette']   },   1245: {     artist: 'Robert Palmer',     tracks: []   },   5439: {     albumTitle: 'ABBA Gold'   } };
// 只修改这一行下面的代码 function updateRecords(records, id, prop, value) {   if(value === "") {     if(records[id].hasOwnProperty(prop)) {       delete records[id][prop];     }   }   else {     if(prop !== "tracks") {       records[id][prop] = value;     }     else {       if(records[id].hasOwnProperty('tracks')) {         records[id][prop].push(value);       }       else {         records[id][prop] = [];         records[id][prop].push(value);       }     }   }   return records; }
updateRecords(recordCollection, 5439, 'artist', 'ABBA');   怎么样,花了多长时间呢?是不是有、、绕?理清逻辑,再起征程吧。   When WE live in this world, WE have to grasp something real, fortunately, I encounter with coding.    

标签:artist,JavaScript,value,prop,records,tracks,freeCodeCamp,Basic,id
来源: https://www.cnblogs.com/wont-youth/p/14876418.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有