IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> freeCodeCamp “记录集合“ 练习 -> 正文阅读

[开发测试]freeCodeCamp “记录集合“ 练习

这道题实在太拗口,看了几个博主才看明白题目的意思,记录下来。

题目描述:

给定一个对象,用来表示部分音乐专辑收藏。 每张专辑都有几个属性和一个唯一的 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?对象做为测试参数对象。


测试要求:

序号测试用例结果
1?updateRecords(recordCollection, 5439, "artist", "ABBA")?artist?的值应该是字符串?ABBA
2updateRecords(recordCollection, 5439, "tracks", "Take a Chance on Me")tracks?的最后一个元素应该为字符串?Take a Chance on Me
3updateRecords(recordCollection, 2548, "artist", "")artist?不应被设置为任何值
4?updateRecords(recordCollection, 1245, "tracks", "Addicted to Love")?tracks?的最后一个元素应该为字符串?Addicted to Love
5updateRecords(recordCollection, 2468, "tracks", "Free")?tracks?的第一个元素应该为字符串?1999
6updateRecords(recordCollection, 2548, "tracks", "")tracks?不应被设置为任何值
7?updateRecords(recordCollection, 1245, "albumTitle", "Riptide")?albumTitle?的值应该是字符串?Riptide

解决方案:

// 初始内容
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'
  }
};

// 只修改这一行下面的代码
// 先判断value是否为空值,否则太麻烦,每一步都要判断是否为空
// 注意比较prop是否为tracks时,比较的tracks为字符串
// 注意recordCollection名字,updateRecords函数中传入的参数为records
// 编写时注意测试用例要求,每一个用例都必须满足
function updateRecords(records, id, prop, value) {
  if(value=='') {
    delete records[id][prop];
  } else if (prop!="tracks"){
       records[id][prop]=value;
  } else if (prop=='tracks') {
    if(!records[id].hasOwnProperty('tracks')) {
      records[id][prop] = [];
    }
    // 这一步必须写在上面if的外层,否则当tracks不为空时,会重置内容,测试用例要求不改变内容
    records[id][prop].push(value);
  }
  return records;
}

updateRecords(recordCollection, 5439, 'artist', 'ABBA');

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-01 12:14:13  更:2021-09-01 12:15:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/14 23:33:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码