ES5新增方法--数组方法

  • 迭代(遍历)方法: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() 方法用于检测数组所有元素是否都符合指定条件,检测数组中的所有元素
  1. 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测
  2. 如果所有元素都满足条件,则返回 true。
  3. every() 不会对空数组进行检测
  4. every() 不会改变原始数组。

对象方法

  • Object.defineProperty()定义新属性或者修改原有的属性
Object.defineProperty(obj,prop,descriptor)
// obj目标对象 prop需要定义或修改属性的名字  descriptor属性的值(特性)三个都是必填

descriptor 要以对象{}的形式书写

  • value 设置属性的值默认为undefined
  • writable 值是否可以重写 布尔型,默认为false
  • enumerable 目标属性是否可以被枚举,布尔型,默认为false
  • configurable 目标属性是否可以被删除或再试修改,布尔型,默认为false(也不允许修改属性的特性)

你可能感兴趣的:(ES5新增方法--数组方法)