W3Cschool编程实战:JavaScript

记录一下在W3Cschool编程实战:JavaScript中遇到的难题。

1、JavaScript 使用对象进行查找值

对象和字典一样,可以用来存储键/值对。如果你的数据跟对象一样,你可以用对象来查找你想要的值,而不是使用switch或if/else语句。

当你知道你的输入数据在某个范围时,这种查找方式极为有效。

// Setup function phoneticLookup(val) { var result = ""; // Only change code below this line  var lookup ={     "alpha": "Adams", "bravo": "Boston",  "charlie": "Chicago", "delta": "Denver", "echo": "Easy", "foxtrot": "Frank"};

result = lookup[val];//关键点

// Only change code above this line
return result;
}

// Change this value to test
phoneticLookup("charlie");

2、JavaScript JSON集合操作
有一个JSON对象,代表着你的专辑集。每一张专辑由一个唯一的id标识,并具有多种属性。但并非所有的专辑都有完整的信息。

写一个函数,它有个三个参数,idpropvalue

如果 value !='' 而且prop != 'tracks'collectionCopy[id][prop]=value;

如果 value !='' 而且prop == 'tracks'collectionCopy[id][prop].push(value);

如果 value == '' ,delete collectionCopy[id][prop];

谨记:函数返回的永远是整个对象。

提示
使用中括号操作符来 访问对象的变量属性。
// Setup
var collection = {
2548: {
album: "Slippery When Wet",
artist: "Bon Jovi",
tracks: [ 
"Let It Rock", 
"You Give Love a Bad Name" 
]
},
2468: {
album: "1999",
artist: "Prince",
tracks: [ 
"1999", 
"Little Red Corvette" 
]
},
1245: {
artist: "Robert Palmer",
tracks: [ ]
},
5439: {
album: "ABBA Gold"
}
};
// 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;
}
if( value !='' && prop == 'tracks'){
    collectionCopy[id][prop].push(value);
}
if(value == ''){
    delete collectionCopy[id][prop];
}

return collection;
}

// Alter values below to test your code
update(5439, "artist", "ABBA");

3、JavaScript 使用循环语句查找通讯录

我们有一个联系人列表,里面存储着不同联系人的数组对象。

函数 lookUpProfile 有两个预定义参数:firstName值和prop属性 。

该函数应检查firstName是实际联系人的firstName,给定的属性(prop)是该联系人的属性。

如果它们都存在,函数返回prop属性对应的值。

如果firstName 值不存在,返回 "No such contact"

如果prop 属性不存在,返回 "No such property"

//Setup
var contacts = [
{
"firstName": "Akira",
"lastName": "Laine",
"number": "0543236543",
"likes": ["Pizza", "Coding", "Brownie Points"]
},
{
"firstName": "Harry",
"lastName": "Potter",
"number": "0994372684",
"likes": ["Hogwarts", "Magic", "Hagrid"]
},
{
"firstName": "Sherlock",
"lastName": "Holmes",
"number": "0487345643",
"likes": ["Intriguing Cases", "Violin"]
},
{
"firstName": "Kristian",
"lastName": "Vos",
"number": "unknown",
"likes": ["Javascript", "Gaming", "Foxes"]
}
];

function lookUpProfile(firstName, prop){
// Only change code below this line
for(var i =0;i

你可能感兴趣的:(JavaScript)