W3Cschool JavaScript 实战 续集
链接: link.
这是前辈大佬的代码答案 最后一部分答案没有 我还是新手 我努力一下。
W3Cschool JavaScript 实战 续集
1.JavaScript 检查对象属性
有时检查一个对象属性是否存在是非常有用的,我们可以用.hasOwnProperty(propname)方法来检查对象是否有该属性。如果有返回true,反之返回 false。
举例
var myObj = {
top: “hat”,
bottom: “pants”
};
myObj.hasOwnProperty(“top”);// true
myObj.hasOwnProperty(“middle”); // false
任务
修改函数checkObj检查myObj是否有checkProp属性,如果属性存在,返回属性对应的值,如果不存在,返回 “Not Found”。
注意:如果你需要通过变量来访问对象的属性值,请用中括号操作符,点操作符不支持变量。
在这里插入代码片
// Setup
var myObj = {
gift: "pony",
pet: "kitten",
bed: "sleigh"
};
function checkObj(checkProp) {
// Your Code Here
if(myObj.hasOwnProperty(checkProp)){
return myObj[checkProp];
}
return "Not Found";
}
// Test your code by modifying these values
checkObj("gift");
右边有一个JSON对象,代表着你的专辑集。每一张专辑由一个唯一的id标识,并具有多种属性。但并非所有的专辑都有完整的信息。
写一个函数,它有个三个参数,id、prop、 value。
如果 value !=’’ 而且prop != ‘tracks’ ,collectionCopy[id][prop]=value;。
如果 value !=’’ 而且prop == ‘tracks’ ,collectionCopy[id][prop].push(value);。
如果 value == ‘’ ,delete collectionCopy[id][prop];。
谨记:函数返回的永远是整个对象。
提示
使用中括号操作符来 访问对象的变量属性。
// Keep a copy of the collection for tests
var collectionCopy = JSON.parse(JSON.stringify(collection));
// Only change code below this line
function update(id, prop, value) {
if (value!= ''&& prop!='tracks'){
collectionCopy[id][prop]=value;
}else if (value !='' && prop == 'tracks'){
collectionCopy[id][prop].push(value);
}else if (value == ''){
delete collectionCopy[id][prop];
}
return collection;
}

这篇博客探讨了如何使用JavaScript的hasOwnProperty()方法检查对象属性的存在性。文章提供了一个例子,说明如何检查并返回对象属性的值。此外,还介绍了一个任务,要求编写一个函数,根据传入的id、prop和value,动态更新一个专辑集对象,涉及属性添加、修改和删除的操作。
3664

被折叠的 条评论
为什么被折叠?



