1,循环数组,过滤数组,检查数组
- 循环: forEach(),map()这两个都是循环数组,但是forEach没有返回值,而map有返回值;
forEach可以理解为让在遍历每个元素的时候,去做一件事,而不用返回值,在遍历是return会不起作用,不会中断遍历,除非程序异常
map可以理解为让每个元素去做一件事,然后返回这个新值,返回的是一个数组的形式,必须有返回值,如果没有return,则默认返回undefined
forEach使用方法:
var arr=[1,2,3,4,5]
var arr1=[];
arr.forEach(function(value,index,arr){
arr1.push(value);
})
console.log(arr1); //[1,2,3,4,5]
map使用方法
var arr=[1,2,3,4,5]
var arr1=arr.map(function(value,index,arr){
return value;
})
console.log(arr1); //[1,2,3,4,5]
- 过滤数组 filter()
可以通过这个函数来比较里面的每一项,然后返回的是你说需要的那些值,也是数组形式的
使用方法:
var arr=[1,2,3,4,5];
var arr1=arr.filter(function(value,index,arr){
if(value%2==1){
return value;
}
});
console.log(arr1); //[1,3,5]
- 检查数组:some()和every()
some()遍历数组,然后你可以匹配每一项做比较,只要有你想要的,就可以return true,会中断循环
every()需要匹配里面的每一项,如果都为true,才会返回true,否者返回false
使用方法
var arr=[1,2,3,4,5];
var arr1=[2,2,2,2,2]
var arr3=arr.some(function(value,index,arr){
if(value/2==1){
return true;
}
});
var arr4=arr1.some(function(value,index,arr){
if(value/2==1){
return true;
}
});
console.log(arr1); //true
console.log(arr2); //true
every()
var arr=[1,2,3,4,5];
var arr1=[2,2,2,2,2]
var arr3=arr.every(function(value,index,arr){
if(value/2==1){
return true;
}
});
var arr4=arr1.every(function(value,index,arr){
if(value/2==1){
return true;
}
});
console.log(arr1); //false
console.log(arr2); //true
2,字符串方法,trim()
trim()去掉字符串两端的空格,返回一个新的字符串
3,对象方法
1,Object.keys()
Object.keys()用户获取对象自身所有的属性名
使用方法
var obj={
name:'a',
age:'13',
sex:'man'
}
var arr=Object.keys(obj);
console.log(arr) //[name,age,sex]
2,Object.defineProperty()定义新属性或修改原有的属性
Object.defineProperty(obj,name,{value,writable,enumerable,configurable})
里面的参数分别是
- 要设置的对象
- 需要定义或修改的属性名
- 是以个对象,对象中有多个特性
- value 设置属性值
- writable 如果为false,不允许再被赋值运算符改变,默认为false
- enumerable 如果为false,就不允许被遍历,但是能被调用,默认为false
- configurable 如果为false,则不允许删除这个属性并且不能修改这个对象中的特性,默认为false