JavaScript一些常用方法一

整理以前的笔记,在学习JavaScript时候,经常会用到一些方法,但是有时忘掉了具体用法,因此记下。方便以后查阅。

这篇博文先说明这些方法的用途:
splice()、push()、pop() 、shift()、unshift()、hasOwnProperty() 、match() 、map() 、reduce()、filter()

.splice()


通过删除现有元素和/或添加新元素来更改数组的内容
例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
var myFish = ["angel", "clown", "mandarin", "surgeon"];
//从第 2 位开始删除 0 个元素,插入 "drum"
var removed = myFish.splice(2, 0, "drum");
//运算后的 myFish:["angel", "clown", "drum", "mandarin", "surgeon"]
//被删除元素数组:[],没有元素被删除
console.log("1:"+removed+"---"+myFish); //1:---angel,clown,drum,mandarin,surgeon
//从第 3 位开始删除 1 个元素
removed = myFish.splice(3, 1);
//运算后的myFish:["angel", "clown", "drum", "surgeon"]
//被删除元素数组:["mandarin"]
console.log("2:"+removed+"---"+myFish); //2:mandarin---angel,clown,drum,surgeon
//从第 2 位开始删除 1 个元素,然后插入 "trumpet"
removed = myFish.splice(2, 1, "trumpet");
//运算后的myFish: ["angel", "clown", "trumpet", "surgeon"]
//被删除元素数组:["drum"]
console.log("3:"+removed+"---"+myFish);//3:drum---angel,clown,trumpet,surgeon
//从第 0 位开始删除 2 个元素,然后插入 "parrot", "anemone" 和 "blue"
removed = myFish.splice(0, 2, "parrot", "anemone", "blue");
//运算后的myFish:["parrot", "anemone", "blue", "trumpet", "surgeon"]
//被删除元素的数组:["angel", "clown"]
console.log("4:"+removed+"---"+myFish);//4:angel,clown---parrot,anemone,blue,trumpet,surgeon
//从第 3 位开始删除 2 个元素
removed = myFish.splice(3, Number.MAX_VALUE);
//运算后的myFish: ["parrot", "anemone", "blue"]
//被删除元素的数组:["trumpet", "surgeon"]
console.log("5:"+removed+"---"+myFish);//5:trumpet,surgeon---parrot,anemone,blue

.push()


一个或多个参数添加到数组末尾
例如:

1
2
var arr = [1,2,3];
arr.push(4); // 现在arr的值为 [1,2,3,4]

.pop()


“抛出”一个数组末尾的值
例如:

1
2
var arr=[1, 4, 6]
var oneDown = arr.pop();//现在 oneDown 的值为 6 ,arr变成了 [1, 4]

.shift()


“移出”一个数组的第一个并赋值
例如:

1
2
var arr=[1, 4, 6]
var oneDown = arr.shift();//现在 oneDown 的值为 1 ,arr变成了 [4, 6]

.unshift()


头部添加元素
例如:

1
2
var arr = [1,2,3];
arr.unshift(4); // 现在arr的值为 [4,1,2,3]

.hasOwnProperty()


检查对象是否有该属性
例如:

1
2
3
4
5
6
var myObj = {
top: "hat",
bottom: "pants"
};
myObj.hasOwnProperty("top"); // true
myObj.hasOwnProperty("middle"); // false

.match()


匹配字符使用
例如:

1
2
3
4
5
6
7
8
9
10
11
var testString = "Hello World! How are you!Haha"; //定义一个字符串
//设置要查找的格式
/* / 是这个正则表达式的头部
h 是我们想要匹配的模式
/ 是这个正则表达式的尾部
g 代表着 global(全局),意味着返回所有的匹配而不仅仅是第一个。
i 代表着忽略大小写,意思是当我们寻找匹配的字符串的时候忽略掉字母的大小写。
*/
var expressionToGetSoftware = /h/gi;
var softwareCount = testString.match(expressionToGetSoftware).length;//softwareCount为4

.map()


迭代数组
例如:

1
2
3
4
5
var oldArray = [1,2,3,4,5];
var newArray = oldArray.map(function(val){
return val+3;
});
console.log(newArray); //[4, 5, 6, 7, 8]

.reduce()


迭代一个数组,并且把它累积到一个值中
例如:

1
2
3
4
5
6
7
8
var array = [4,5,6,7,8];
var singleVal = 0;
// 累加器 和当前值
singleVal = array.reduce(function(qq,ww){
console.log("qq:"+qq+",ww:"+ww); //qq:4,ww:5 qq:9,ww:6 qq:15,ww:7 qq:22,ww:8
return qq+ww;
});
console.log(singleVal); //30

.filter()


迭代一个数组,并且按给出的条件过滤出符合的元素
例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var oldArray = [1,2,3,4,5,6,7,8,9,10];
var newArray = oldArray.filter (function(val){
return val<6; //保留小于6的数据
});
console.log(newArray); //[1, 2, 3, 4, 5]
//删除数组中的所有假值。在JavaScript中,假值有false、null、0、""、undefined 和 NaN。
//通过filter方法来过滤掉假值
function bouncer(arr) {
var newarr=arr.filter(function(val){
return !!val;
});
return newarr;
}
//判断是否是真值,如果不是就过滤掉
function bouncer(arr) {
return arr.filter(Boolean);
}
console.log(bouncer([7, "ate", "", false, 9])); //[7, "ate", 9]
console.log(bouncer([false, null, 0, NaN, undefined, ""])); //[]
console.log(bouncer([1, null, NaN, 2, undefined])); // [1, 2]

版权声明:
作者:虚无境
博客园出处:http://www.cnblogs.com/xuwujing
CSDN出处:http://blog.csdn.net/qazwsxpcm    
个人博客出处:http://www.panchengming.com
原创不易,转载请标明出处,谢谢!

+
------ 本文结束 ------