检查对象属性是否存在
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);
















