javascript数组,字符串,math常用方法
array.filter()过滤函数,返回符合条件的item 不会改变原数组
1 2 3 4 5 6 7 8
| var arr = [1, 2, 3, 3, 2]; var r = arr.filter(function (item, index, self) { console.log(item); console.log(index); console.log(self); return item==2; });
|
array.every() 方法用于检测数组所有元素是否都符合指定条件,所有符合返回true,不符合返回false 不会改变原数组
1 2 3 4 5
| var arr = [1, 2, 3]; var r = arr.every(function (item, index, self) { return item>4; });
|
array.some() 方法用于检测数组中的元素是否满足指定条件,有一个满足就返回true
1 2 3 4 5 6 7 8 9 10
| var arr = [1, 2, 3]; var r = arr.some(function (item, index, self) { return item>2; }); array.reduce() 方法接收一个函数作为累加器,累加数组的值。
var arr = [1, 2, 3]; var r = arr.reduce(function (total,item, index, self) { return total+item; });
|
1 2 3 4 5 6 7 8
| array.map() 方法按照原始数组元素顺序依次处理元素,可返回新数组,但不会改变原数组
var arr = [1, 2, 3]; var r = arr.map(function (item, index, self) { return item*2; }); console.log(r) console.log(arr)
|
array.find() 方法用来返回数组中满足条件的第一个元素 不会改变原数组
1 2 3 4 5
| var arr = [1, 2, 3]; var r = arr.find(function (item, index, self) { return item>=2; });
|
array.forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数,可用于遍历数组。
1 2 3 4
| var arr = [1, 2, 3]; arr.forEach(function (item, index, self) { console.log(item); });
|
for /for…in 遍历数组
for循环:
1 2 3 4 5 6 7
| var arr = ["Banana", "Orange", "Apple", "Mango"];
for(var i=0,length=arr.length;i<length;i++){
console.log( arr[i])
}
|
//遍历出数组的每一项
for….in:
1 2 3 4 5 6 7
| var arr = ["Banana", "Orange", "Apple"];
for(var index in arr){
console.log(arr[index])
}
|
array.indexOf(item,start) 方法可返回某个指定的字符串值在字符串中首次出现的位置。
1 2
| var fruits = ["Banana", "Orange", "Apple", "Mango"]; var a = fruits.indexOf("Apple");
|
array.join(separator)将数组按特定分割符组合成字符串(数组=>字符串)
1 2 3
| var arr = [1, 2, 3]; arr.join(''); arr.join('a');
|
array.toString()将数组转为字符串,并以逗号隔开(数组=>字符串)
1 2
| var arr= ["a", "b", "c", "d"]; var arrstring = arr.toString();
|
Array.isArray(obj)判断对象是否是数组
1 2 3 4
| var arr = [1, 2, 3]; var obj= {name:"cgd"}; Array.isArray(arr) Array.isArray(obj)
|
#数组的堆栈操作 删除操作返回删除元素,添加操作返回新的长度,均会改变原数组
1 2 3 4 5
| var arr = ["a", "b", "c", "d"]; arr.pop(); arr.push("e","f") arr.shift() arr.unshift("e","f")
|
array.concat(arr1) 数组之间连接 arr和arr1连接成一个新的数组,原数组都不变,返回新数组
1 2 3 4 5
| var arr = ["a", "b", "c", "d"];
var arr1 = ["e", "f", "g", "h"];
var c=arr.concat(arr1)
|
array.splice(index,howmany,item1,…..,itemX) 方法用于插入、删除或替换数组的元素,这种方法会改变原始数组,很强大
index 表示开始位置,
howmany 表示删除多少个必须为数字,可以为0表示不删除,如果不填的话会从index位置删到最后
item1 表示要添加到数组的新元素
1 2 3 4 5 6 7 8 9 10
| var arr= ["a", "b", "c", "d"]; arr.splice(2,1,"e","f");
array.slice(index1,index2) 参数index可正可负,包含arr[index1],不包含arr[index2],原数组都不变,返回截取的新数组
var arr=["a", "b", "c", "d", "e", "f", "g", "h"] var arrNew=arr.slice(3,-1) var arrNew=arr.slice(1,3)
|
array.reverse() 方法用于颠倒数组中元素的顺序。(元素反转)
1 2
| var arr = [1, 2, 3]; arr.reverse()
|
array.sort(sortfunction)对数组进行排序,没传递函数时,按升序排
1 2 3 4
| var arr= [40,100,1,5,25,10]; arr.sort(function(a,b){return a-b});
arr.sort(function(a,b){return b-a});
|
拓展:取数组的最大值/最小值
1 2 3 4 5 6 7 8 9 10 11
| var min = arr[0];
var max = arr[arr.length - 1];
通过Math.max.apply(null, arr);Math.min.apply(null, arr);
var arr = [22,13,6,55,30];
var max = Math.max.apply(null, arr);
var min = Math.min.apply(null, arr);
|
通过ES6扩展符
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| arr = [22,13,6,55,30]; console.log(Math(...arr));
array.valueOf() 返回数组的原始值
var arr= ["a", "b", "c", "d"]; arr.valueOf() -
array.fill() 使用一个固定值来填充数组。
var arr=[];
arr.length=3;
arr.fill(2);
### 二.字符串的常用方法:
var str = ‘abcd’
str.charAt(0);
str.charCodeAt(0);
str.concat(‘e’);
str.indexOf(‘c’);
str.lastIndexOf(‘c’);
str.length;
str.localeCompare(‘efg’);
str.search(‘a’);
str.slice(1,5);
str.split(‘c’);
str.substr(0,2);
str.substring(0);
str.substring(0,3);
str.toLowerCase();
str.toString();
str.toUpperCase();
String.fromCharCode(10000);
str.trim();
|
三.Math的常用方法:
Math.abs():绝对值 Math.abs(1)
Math.ceil():向上取整 Math.ceil(3.2)
Math.floor():向下取整 Math.floor(3.2)
Math.max():最大值 Math.max(2, -1, 5)
Math.min():最小值 Math.min(2, -1, 5)
Math.pow():指数运算 Math.pow(2, 3)
Math.sqrt():平方根 Math.sqrt(4)
Math.log():自然对数 Math.log(Math.E)
Math.exp():e的指数 Math.exp(1)
Math.round():四舍五入
Math.random():随机数 范围[0,1) Math.random()