js练习表回顾
来源:互联网 发布:北京电脑编程学校 编辑:程序博客网 时间:2024/06/08 01:20
JavaScript 使用循环语句查找通讯录
我们有一个对象数组,里面存储着通讯录。
函数lookUp
有两个预定义参数: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 lookUp(firstName, prop){// Only change code below this linevar hasName = false;//用来记录first是否存在for(var i=0;i<contacts.length;i++){ if(contacts[i].firstName == firstName){ hasName=true;//存在该firstname //查找是否存在属性prop if(contacts[i].hasOwnProperty(prop)){ return contacts[i][prop]; }else{ return "No such property"; } }}if(!hasName){ return "No such contact";}// Only change code above this line}// Change these values to test your functionlookUp("Akira", "likes");
JavaScript push()
函数追加数组数据
// 举例var ourArray = ["Stimpson", "J", "cat"];ourArray.push(["happy", "joy"]); // ourArray now equals ["Stimpson", "J", "cat", ["happy", "joy"]]// Setupvar myArray = [["John", 23], ["cat", 2]];myArray.push(["dog",3]);// Only change code below this line.
JavaScript pop()
函数弹出数组最后数据
// 举例var ourArray = [1,2,3];var removedFromOurArray = ourArray.pop(); // removedFromOurArray now equals 3, and ourArray now equals [1,2]// Setupvar myArray = [["John", 23], ["cat", 2]];// Only change code below this line.var removedFromMyArray=myArray.pop();
JavaScript shift()
函数移出数组第一个数据
// 举例var ourArray = ["Stimpson", "J", ["cat"]];removedFromOurArray = ourArray.shift();// removedFromOurArray now equals "Stimpson" and ourArray now equals ["J", ["cat"]].// Setupvar myArray = [["John", 23], ["dog", 3]];// Only change code below this line.var removedFromMyArray = myArray.shift();
JavaScript unshift()
函数移入数据到数组第一位
// 举例var ourArray = ["Stimpson", "J", "cat"];ourArray.shift(); // ourArray now equals ["J", "cat"]ourArray.unshift("Happy"); // ourArray now equals ["Happy", "J", "cat"]// Setupvar myArray = [["John", 23], ["dog", 3]];myArray.shift();myArray.unshift(["Paul",35]);// Only change code below this line.
JavaScript 对象操作
你之前可能听说过对象 object 。
对象和数组很相似,数组是通过索引来访问和修改数据,对象是通过属性来访问和修改数据的。
这是一个示例对象:
var cat = {"name": "Whiskers","legs": 4,"tails": 1,"enemies": ["Water", "Dogs"],"the drink": "water"};
- JavaScript 使用点操作符.读取对象属性
var Name=cat.name;
- JavaScript 使用[]读取对象属性 ,属性名称中如果有空格,必须把属性名称用单引号或双引号包裹起来。
var drink=cat["the drink"]
- JavaScript 使用变量访问对象属性
中括号操作符的另一个使用方式是用变量来访问一个属性。当你需要遍历对象的属性列表或查表时,这种方式极为有用。
var someProp = "propName";var myObj = {propName: "Some Value"}myObj[someProp]; // "Some Value"
- JavaScript 更新对象属性
// 举例var ourDog = {"name": "Camper","legs": 4,"tails": 1,"friends": ["everything!"]};ourDog.name = "Happy Camper";
- JavaScript 给对象添加属性
// 举例var ourDog = {"name": "Camper","legs": 4,"tails": 1,"friends": ["everything!"]};ourDog.bark = "bow-wow";
- JavaScript 删除对象属性
// 举例var ourDog = {"name": "Camper","legs": 4,"tails": 1,"friends": ["everything!"],"bark": "bow-wow"};delete ourDog.bark;
JavaScript 检查对象属性
有时检查一个对象属性是否存在是非常有用的,我们可以用.hasOwnProperty(propname)
方法来检查对象是否有该属性。如果有返回true,反之返回 false。
// Setupvar myObj = {gift: "pony",pet: "kitten",bed: "sleigh"};function checkObj(checkProp) {// Your Code Hereif (myObj.hasOwnProperty(checkProp)) return myObj[checkProp];else return "Not Found";}// Test your code by modifying these valuescheckObj("gift");
JavaScript JSON操作
JavaScript Object Notation 简称 JSON,它使用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;}else if(value !==''&&prop =='tracks'){ collectionCopy[id][prop].push(value);}else if(value ===''){ delete collectionCopy[id][prop];}return collection;}// Alter values below to test your codeupdate(5439, "artist", "ABBA");
JavaScript 使用正则表达式操作字符串
Regular expressions 正则表达式被用来根据某种匹配模式来寻找strings中的某些单词。
举例:如果我们想要找到字符串The dog chased the cat中单词 the,我们可以使用下面的正则表达式: /the/gi
我们可以把这个正则表达式分成几段:
/
是这个正则表达式的头部
the
是我们想要匹配的模式
/
是这个正则表达式的尾部
g
代表着global(全局)
,意味着返回所有的匹配而不仅仅是第一个。
i
代表着忽略大小写,意思是当我们寻找匹配的字符串的时候忽略掉字母的大小写。
// Setupvar testString = "Ada Lovelace and Charles Babbage designed the first computer and the software that would have run on it.";// 举例var expressionToGetSoftware = /software/gi;var softwareCount = testString.match(expressionToGetSoftware).length;// Only change code below this line.var expression = /and/gi;// Change this Line// Only change code above this line// This code counts the matches of expression in testStringvar andCount = testString.match(expression).length;
JavaScript 使用正则表达式选取数值
我们可以在正则表达式中使用特殊选择器来选取特殊类型的值。
特殊选择器中的一种就是数字选择器\d
,意思是被用来获取一个字符串的数字。
在JavaScript中, 数字选择器类似于:/\d/g
。
在选择器后面添加一个加号标记(+)
,例如:/\d+/g
,它允许这个正则表达式匹配一个或更多数字。
尾部的g
是'global'
的简写,意思是允许这个正则表达式 找到所有的匹配而不是仅仅找到第一个匹配。
// Setupvar testString = "There are 3 cats but 4 dogs.";// Only change code below this line.var expression = /\d+/g;// Change this line// Only change code above this line// This code counts the matches of expression in testStringvar digitCount = testString.match(expression).length;
JavaScript 使用正则表达式选取空白字符
我们也可以使用正则表达式选择器 \s
来选择一个字符串中的空白。
空白字符有 " "
(空格符)、\r
(回车符)、\n
(换行符)、\t
(制表符) 和\f
(换页符)。
空白正则表达式类似于:
/\s+/g
// Setupvar testString = "How many spaces are there in this sentence?";// Only change code below this line.var expression = /\s+/g;// Change this line// Only change code above this line// This code counts the matches of expression in testStringvar spaceCount = testString.match(expression).length;
JavaScript 使用正则表达式转化匹配
你可以用正则表达式选择器的大写版本 来转化任何匹配。
举个例子:\s
匹配任何空白字符,\S
匹配任何非空白字符。
用 /\S/g
来匹配字符串testString
中的所有非空白字符。
// Setupvar testString = "How many non-space characters are there in this sentence?";// Only change code below this line.var expression = /\S/g;// Change this line// Only change code above this line// This code counts the matches of expression in testStringvar nonSpaceCount = testString.match(expression).length;
- js练习表回顾
- jsday05(js回顾 dom回顾)
- C++练习,贪吃蛇回顾
- js事件知识回顾
- 20150927js学习回顾
- js数据类型回顾
- js回顾第一阶段
- js回顾第二阶段
- js回顾第三阶段
- 20170622 js回顾
- js基础回顾
- 原生js回顾
- js练习
- JS练习
- js练习
- JS 练习
- JS练习
- js练习
- 实现字符串循环右移n 位与左移n位(不建立数组,直接用指针)
- Intro Mechine Learning
- USACO-Section2.2 Subset Sums【动态规划】
- 区间dp
- shell脚本下自动发邮箱
- js练习表回顾
- 如何学习SAP HANA
- Command
- c语言表达式的运算顺序
- 排序相关—— 相邻两数的最大差值( Maximum Gap-LeetCode)
- 优酷视频地址解析
- Summary of GATT Profile Attribute Types
- Primer c++ 第5版pdf
- Java读取图片文件