文章目录
1.数组方法
1-1.数组方法集合
- forEach()
- map()
- filter()
- some()
- every()
1-2.forEach()
array.forEach(function(currentValue,index,arr))
- currentValue:数组当前项的值
- index:数组当前项的索引
- arr:数组对象本身
使用:
var arr = [1,2,3]
arr.forEach(function(value,index,array){
console.log('每个数组元素'+ value);
console.log('每个数组元素的索引'+ index);
console.log('数组本身'+ array);
})
1-3.fliter()
array.filter(function(currentValue,index,arr))
- filter()方法创建一个新的数组,新数组中的元素时通过检查指定数组中符合条件的所有元素,主要用于筛选数组
- currentValue:数组当前项的值
- index:数组当前项的索引
- arr:数组对象本身
使用:
// filter筛选数组
var arr = [10,20,30,40,50]
var newArr = arr.fliter(function(value,index,arr){
return value >= 20
})
console.log(newArr);
1-4.some()
array.some(function(currentValue,index,arr))
- some()用于查找数组中是否又满足条件的元素,如果有返回true没有返回false
- currentValue:数组当前项的值
- index:数组当前项的索引
- arr:数组对象本身
// some查找数组中是否满足条件的元素
var arr = [10,20,30,40,50]
var newArr = arr.some(function(value,index,arr){
return value >= 20
})
console.log(newArr);
2.字符串方法
- trim()去点字符串两边空格
- 一般用于input提交的value值,把value值两边去掉空格,更方便的进行判断
有空格:
var str0 = ' lq '
console.log(str0);
console.log(str0.length);
</script>
使用trim()后 ,返回一个新字符串,要定义一个新字符串接收一下
var str0 = ' lq '
// trim()返回一个新字符串
var str1 = str0.trim()
console.log(str1);
console.log(str1.length);
3.对象方法
- Object.keys()
3-1.Object.keys()
- 获取对象自身所有的属性,不包括属性值
- 返回的是一个由属性名组成的数组
var arr = {
name:'lq',
age:22,
sex:"nan"
}
var newArr = Object.keys(arr)
console.log(newArr);
3-2.Object.defineProperty()
- 定义对象中新属性或修改原有属性
Object.defineProperty(obj,prop,descriptor)
- obj:必需,目标对象
- prop:必须,需定义或修改的属性名
- descriptor:必需,目标属性所拥有的特性
添加和修改
var obj = {
name:'lq',
age:22,
sex:"nan"
}
// 给obj添加一个tall属性
Object.defineProperty(obj,'tall',{
value:'165cm'
})
console.log(obj);
// 给obj的age属性修改成23
Object.defineProperty(obj,'age',{
value:23
})
console.log(obj);
descriptor是该方法的i三个参数,必须写成一个{}的模式里面有以下几个特殊的特性
- value代表要添加的属性值,或者要修改的属性值
- writeble,如果是false就是不允许修改或重写,如果是true就是允许
- enumerable,目标属性是否可以被枚举,就是是否能被遍历出来,true或false,默认false
- configurable,目标属性是否可以被删除,或者是否可以再次修改特性 ,默认为false
3-2-1.Object.defineProperty(obj,prop,writeble)
- 如果writeble为false就是不允许被修改
enumerable,目标属性是否可以被枚举,就是是否能被遍历出来,true或false,默认false
// 如果writeble为false就是不允许被修改
Object.defineProperty(obj,'name',{
writable:false
})
// 修改试试看
obj.name = 'wy'
console.log(obj);
结果是修改失败
3-2-2.Object.defineProperty(obj,prop,enumerable)
// 添加一个weight属性,允许被遍历出来
Object.defineProperty(obj,'weight',{
value:"60kg",
enumerable:true
})
console.log(Object.keys(obj));
3-2-3.Object.defineProperty(obj,prop,configurable)
configurable,目标属性是否可以被删除,或者是否可以再次修改特性 ,默认为false
// 设置名字是否被删除,设置可以删除
Object.defineProperty(obj,'name',{
configurable:true
})
delete obj.name
console.log(obj);