1. 检查对象属性是否存在

    hasOwnProperty()

    

    var myObj = {
      gift: "pony",
      pet: "kitten",
      bed: "sleigh"
    };
    
    function checkObj(checkProp) {
      // Your Code Here
      if( myObj.hasOwnProperty(checkProp))
        return myObj[checkProp];
      return  "Not Found";
    }

2. 查看json对象属性

    

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 lookUp(firstName, prop){
// Only change code below this line
  for(var i =0; i< contacts.length;i++){

    if(firstName == contacts[i].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
}

3. 正则表达式

举例:如果我们想要找到字符串The dog chased the cat中单词 the,我们可以使用下面的正则表达式: /the/gi

我们可以把这个正则表达式分成几段:

/ 是这个正则表达式的头部

the 是我们想要匹配的模式

/ 是这个正则表达式的尾部

g 代表着 global(全局),意味着返回所有的匹配而不仅仅是第一个。

i 代表着忽略大小写,意思是当我们寻找匹配的字符串的时候忽略掉字母的大小写


4. 创建对象

var Car = function(wheels, seats, engines) {
  this.wheels = wheels;
  this.seats = seats;
  this.engines = engines;
};
var myCar = new Car(6, 3, 1);


5. map遍历数组

map 方法可以方便的迭代数组,例子:
var timesFour = oldArray.map(function(val){
  return val * 4;
});
map 方法会迭代数组中的每一个元素,并根据回调函数来处理每一个元素,最后返回一个新数组。注意,这个方法不会改变原始数组。

6.reduce

数组方法 reduce 用来迭代一个数组,并且把它累积到一个值中。
使用 reduce 方法时,你要传入一个回调函数,这个回调函数的参数是一个 累加器 (比如例子中的 previousVal) 和当前值 (currentVal)。
reduce 方法有一个可选的第二参数,它可以被用来设置累加器的初始值。如果没有在这定义初始值,那么初始值将变成数组中的第一项,而 currentVal 将从数组的第二项开始。
var singleVal = array.reduce(function(previousVal, currentVal) {
  return previousVal - currentVal;
}, 0);

7.翻转字符串

function reverseString(str) {
  var strRe;
  var wordRe;
  strRe = str.split(" ");
  strRe.reverse();
  for(var i =0; i< strRe.length;i++){
 
     wordRe = strRe[i].split("");
     wordRe.reverse();
     strRe[i] = wordRe.join("");
    
  }
  var result =strRe.join(" ");
  return result;
}

reverseString("hello");


8. 转换句子中每个单词起始字母大写

  function titleCase(str) {
  var temp = str.toLowerCase();
  var word = temp.split(" ");
  
  for(var i = 0; i<word.length;i++){
    
      var letter = word[i].split("");
      var t = letter.shift();
      letter.unshift(t.toUpperCase());
      word[i] = letter.join("");
  }
  
  var final = word.join(" ");
  return final;
}

titleCase("I'm a little tea pot");


9.repeat 字符串

function repeat(str, num) {
  // repeat after me
  if(num<0)
    return "";
  
  var result = [];
  for(var i =0; i<num; i++){
    result[i] = str;
  }
  var final = result.join("");
  return final;
}

repeat("abc", 3);