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标识,并具有多种属性。但并非所有的专辑都有完整的信息。

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

如果 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;
原创粉丝点击