数组 arr=[3,2,3,4]
1.arr.map() 和 arr.forEach()循环数组
给每个数组的元素提供一个方法 返回一个新的数组,map原数组不变,forEach**改变原数组***
map原数组不变:仅针对数组里面都是number 如果数组里是numbers = [{id:4}, {id:10}, {id:16}, {id:20}]; 则numbers改变
let newArr=arr.map(item=>{return item2}) //[6,4,6,8] 、、return 可以去掉 换行必须加上
2.arr.filter() 判断每个元素,返回一个新数组 不改变原数组
let arr=[
{age:1},
{age:11},
{age:24},
{age:10},
{age:8},
]
let newArr=arr.filter(function(item,index){
return item.age>10
})
console.log(newArr) //[ {age:11}, {age:24}]
3.arr.every() || arr.some() 前者:判断每个元素返回true false,后者:如果存在符合 返回true,都不符合false
let arr=[
{age:1},
{age:11},
{age:24},
{age:10},
{age:8},
]
let newArr=arr.every(function(item,index){
return item.age>10
})
console.log(newArr) //[false,true,true,false,false]
4.arr.reduce() || arr.reduceRight() 累加器 从左到右,从右到左
var numbers = [65, 44, 12, 4];
function getSum(total, num) {
return total + num;
}
function myFunction(item) {
document.getElementById("demo").innerHTML = numbers.reduce(getSum); //125
}
5. arr.pop() arr.push() arr.shift() arr.unshift() 尾部 删除/增加一个数组 头部删除/增加一个数组
这个平常用的比较多就不列代码了
6.Array.isArray(arr) 判断一个对象是否是数组
let arr=[]
let arr1={}
console.log(Array.isArray(arr)) 、、true
console.log(Array.isArray(arr1)) ///false
7.arr.concat([],[]) 连接一个或多个数组,不改变原有数组
let arr1 = [1, 2, 3]
let arr2 = [4, 5]
let arr = arr1.concat(arr2)
console.log(arr)//[1, 2, 3, 4, 5]
8.arr.toString() && arr.join(val) 数组转字符串,val可选,作为分隔符
let arr = [1, 2, 3, 4, 5];
let str1 = arr.toString()
let str2 = arr.join(',')
let str3 = arr.join('##')
console.log(str1)// 12345
console.log(str2)// 1,2,3,4,5
console.log(str3)// 1##2##3##4##5
9.arr.slice(start,end) 从现有的数组中选取一段数组返回
let arr = [1, 2, 3, 4, 5];
console.log(arr.slice(0,1)) //[1]
10.Array.splice(开始位置, 删除的个数,元素)
let arr = [1, 2, 3, 4, 5];
let arr1 = arr.splice(2, 0 'haha')
let arr2 = arr.splice(2, 3)
let arr1 = arr.splice(2, 1 'haha')
console.log(arr1) //[1, 2, 'haha', 3, 4, 5]新增一个元素
console.log(arr2) //[1, 2] 删除三个元素
console.log(arr3) //[1, 2, 'haha', 4, 5] 替换一个元素
11.Math.max.apply(null,arr)求最大值
12.includes和indexOf检测数组
let site = [‘runoob’, ‘google’, ‘taobao’];
site.includes(‘runoob’);
// true
site.includes(‘baidu’);
// false
字符串 str=“aa a sss”
1.str.tostring() && String(str) && str+’’’’ //转字符串
2.str.split(’ ',index) //字符串分割,返回数组,index可选返回的个数
.str.split(' ') //[aa,a,sss]
.str.split(' ',1) //[aa]
3.str.replace() 全局匹配得加g
var replaceStr=mystr.replace(/zifuchuan/," "); //wozaijinxing tihuancaozuo,zifuchuantihuano
var replaceStr=mystr.replace(/zifuchuan/g," "); //wozaijinxing tihuancaozuo, tihuano
4.str.length 字符串长度
5.str.indexOf() && str.lastIndexOf() 查找字符串返回下标, 从左往右 和从右往左,查不到返回-1
6、mystr.charAt(7) && mystr. charCodeAt(7) 返回指定位置的字符或其字符编码值
var mystr="Hello World!";
var index=mystr.charAt(7); //o
var mystr="Hello World!";
var charCode=mystr. charCodeAt(7); //111
7.esec() 正则匹配,返回数组,查不到就是null,其他查找的方法 search(),test()等
var str = "Visit W3School";
var patt = new RegExp("W3School","g");
var result;
while ((result = patt.exec(str)) != null) {
document.write(result);
document.write("<br />");
document.write(patt.lastIndex);
}
8.slice() substring() substr() 字符串切割和提取
注:1.slice() 可以为负数,如果起始位置为负数,则从字符串最后一位向前找对应位数并且向后取结束位置,如果为正整数则从前往后取起始位置到结束位置。
2.substring()只能非负整数,截取起始结束位置同slice()函数一致。
3.substr()与第一、第二种函数不同,从起始位置开始截取,结束位置为第二个参数截取的字符串最大长度。
以上三种函数未填第二参数时,自动截取起始位置到字符串末尾
9、字符串大小写转换
var mystr="Hello World!";
var lowCaseStr=mystr.toLowerCase(); //hello world!
var upCaseStr=mystr. toUpperCase(); //HELLO WORLD!
10.去除前后空格
str.trim()
数字 num=110
方法 | 写法 | 说明 |
---|---|---|
typeof | typeof num | 判断类型,返回t类型 |
isNaN | isNaN(num) | 判断是否是个数字类型 |
Number | Number(num) | 强制转换数值 |
parseInt | parseInt(num) | 从左往右取数字,取整数,没数字返回null |
parseFloat | parseFloat(num) | 从左往右取数字,包括小数点,没数字返回null |
toFixed | num.toFixed(2) | 保留小数的个数,不过四舍五入有点问题,建议重写此方法 |