W3Cschool编程实战:JavaScript
来源:互联网 发布:手机屏幕养兔子软件 编辑:程序博客网 时间:2024/05/18 20:31
记录一下在W3Cschool编程实战:JavaScript中遇到的难题。
1、JavaScript 使用对象进行查找值
对象和字典一样,可以用来存储键/值对。如果你的数据跟对象一样,你可以用对象来查找你想要的值,而不是使用switch或if/else语句。
当你知道你的输入数据在某个范围时,这种查找方式极为有效。
// Setupfunction 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 linereturn result;}// Change this value to testphoneticLookup("charlie");
2、JavaScript JSON集合操作
有一个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];。
谨记:函数返回的永远是整个对象。
提示
使用中括号操作符来 访问对象的变量属性。
// Setupvar 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 testsvar collectionCopy = JSON.parse(JSON.stringify(collection));// Only change code below this linefunction 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 codeupdate(5439, "artist", "ABBA");
3、JavaScript 使用循环语句查找通讯录
我们有一个联系人列表,里面存储着不同联系人的数组对象。
函数 lookUpProfile
有两个预定义参数:firstName
值和prop
属性 。
该函数应检查firstName是实际联系人的firstName,给定的属性(prop)是该联系人的属性。
如果它们都存在,函数返回prop
属性对应的值。
如果firstName
值不存在,返回 "No such contact"
。
如果prop
属性不存在,返回 "No such property"
。
//Setupvar 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 linefor(var i =0;i<contacts.length;i++){ if(contacts[i].firstName ==firstName){ if(contacts[i].hasOwnProperty(prop)){ return contacts[i][prop]; } else{ return "No such property"; } } } return "No such contact";// Only change code above this line}// Change these values to test your functionlookUpProfile("Akira", "likes");
阅读全文
0 0
- W3Cschool编程实战:JavaScript
- 2017-2-8-w3cschool编程挑战 -javascript
- 2017-2-9-w3cschool编程挑战 -javascript
- 2017-2-10-w3cschool编程挑战 -javascript
- javascript w3cschool 细读笔记
- w3cschool之JavaScript学习
- JavaScript 编程实战
- 《JavaScript编程实战》
- W3CSchool
- w3cschool
- 理解JavaScript (转载自W3CSchool)
- W3Cschool Java 8新特性----> Nashorn JavaScript
- Html和JavaScript编程实战!
- Html和JavaScript编程实战!
- JavaScript面向对象编程实战
- 2017-2-6-w3cschool编程挑战
- 2017-2-7-w3cschool编程挑战
- 高性能Javascript【八】编程实战
- C++中sprintf和string的使用问题
- 二分查找的几种不同的实现
- 第二周项目一C/C++语言中函数传递的三种方式之方法三引用作形参
- Codevs1506
- listview左滑删除和置顶(仿QQ)
- W3Cschool编程实战:JavaScript
- Lua学习笔记之lua基本语法DAY1
- adnroid组件化开发实战
- java web(三)jsp
- 研究生规划_笔记
- C到C++基础
- AJAX原理
- 最全Pycharm教程(3)——代码的调试、运行
- 数学基础复习笔记(1)——向量点积定义的证明