JavaScript 隨手記

  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);


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章