- 迭代(遍历)方法:forEach()、map()、filter()、some()、every()
- forEach()
//可以理解为增强for循环
arr.forEach(function(value,index,array){})
//value 当前项的值
//index 索引值
//array 当前数组
- map() 返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。1.不会对空数组进行检测。2.不会改变原始数组
var arr=[2,3,4]
var newArr = arr.map(function(value){
return value * value;
})
- filter() 会创建新的数组,是从指定数组中筛选出符合条件的值组成新数组,用于筛选数组
arr.fliter(function(value,index,array){})
//value 当前项的值
//index 索引值
//array 当前数组
var arr = [5,33,45,12,23]
var newArr = arr.filter(function(value,index){
return value >=12;
})
console.log(newArr)
- some() 查找数组数组中是否有满足条件的元素,返回值为布尔类型,能查到满足条件的返回true,否则返回false
arr.some(function(value,index,array){})
var arr = [10,20,33]
var flag = arr.some(function(value){
return vaue === 20;
})
//查到第一个满足条件的元素就终止循环
- every() 方法用于检测数组所有元素是否都符合指定条件,检测数组中的所有元素
- 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测
- 如果所有元素都满足条件,则返回 true。
- every() 不会对空数组进行检测
- every() 不会改变原始数组。
对象方法
- Object.defineProperty()定义新属性或者修改原有的属性
Object.defineProperty(obj,prop,descriptor)
// obj目标对象 prop需要定义或修改属性的名字 descriptor属性的值(特性)三个都是必填
descriptor 要以对象{}的形式书写
- value 设置属性的值默认为undefined
- writable 值是否可以重写 布尔型,默认为false
- enumerable 目标属性是否可以被枚举,布尔型,默认为false
- configurable 目标属性是否可以被删除或再试修改,布尔型,默认为false(也不允许修改属性的特性)