本文主要是介绍freeCodeCamp-Basic JavaScript-记录集合,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
时间: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.
这篇关于freeCodeCamp-Basic JavaScript-记录集合的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!