檢查對象屬性是否存在
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);