前端Es5中新增方法

数组方法
迭代(遍历)方法:
forEach()、map()、filter()、some()、every()
array:forEach(function(currentValue,index,arr))
currentValue:数组当前项的值
index:数组当前项的索引
arr:数组对象本身

例子:
  
   // forEach迭代(遍历)数组
        var arr = [1, 2, 3];
        var sum = 0;
        arr.forEach(function(value, index, array) {
            console.log('每个数组元素' + value);
            console.log('每个数组元素的索引号' + index);
            console.log('数组本身' + array);
            sum += value;
        })
        console.log(sum);

filter()筛选数组
array:filter(function(currentValue,index,arr))

filter()方法创建一个新数组,主要用于筛选数组, 返回所有满足的元素
注意:直接放回一个新数组
currentValue:数组当前项的值
index:数组当前项的索引
arr:数组对象本身
filter例子:
	  <script>
	        // filter筛选数组
	        var arr = [12, 66, 4, 88];
	        var newArr = arr.filter(function(value, index) {
	  // 取偶数
	            // return value % 2 == 0;
	            return value >= 20;
	        })
	        console.log(newArr);
	    </script>

some()查找数组中是否有满足条件
array:some(function(currentValue,index,arr))
some()方法用于检测数组中的元素是否满足指定条件
注意:返回的是布尔值,如果查找到这个元素,就放回true,如果查找不到就放回flase
如果找到第一个满足条件元素,则终止循环,不在继续查找

currentValue:数组当前项的值
index:数组当前项的索引
arr:数组对象本身
some例子:
	    // some查找数组中是否有满足条件的元素
	        var arr = [10.30, 4];
	        var flag = arr.some(function(value) {
	            return value >= 20;
	        })
	        console.log(flag);
	
例子:
 data.some(function(value) {
        // 返回的是布尔值
          if (value.pname == product.value) {
                arr.push(value);
        // return后面必须写true   代表找到,终止循环
                    return true;
                }
            })

对象方法Object.keys()
Object.keys()获取对象自身的所有属性
Object.keys(obj)
效果类似for----in
返回一个由属性名组成的数组
返回的是数组

例子、:
	<script>
	        // 用于获取对象自身所有的属性
	        var obj = {
	            id: 1,
	            pname: '小米',
	            price: 1999,
	            num: 2000
	        };
	        var arr = Object.keys(obj);
	        console.log(arr);
	        arr.forEach(function(value) {
	            console.log(value);
	
	        })
	    </script>

Object.defineProperty()定义对象中的新属性或修改原有的属性(改为false是不允许的)
Object.defineProperty(obj,prop,descriptor)
obj:必须。目标对象
prop:必须。需定义或修改的属性的名字
descriptor:必须。目标属性所拥有的特性

descriptor说明:以对象的形式{}书写
value:设置属性的值        默认为undefined
wiritable:值是否可以重写    禁止修改。true|false默认为false
enumerable:目标属 性是否可以被枚举禁止遍历。true|false默认为false
configurable:目标属性是否可以被删除或是否可以再次修改特性true|false默认为false


例子:
 Object.defineProperty(obj, 'id', {
            // 如果值为false 不允许修改这个属性值 默认值也是false
            writable: false,
        });

   Object.defineProperty(obj, 'address', {
            value: '中国山东蓝翔技校xx单元',
            // 如果只为false 不允许修改这个属性值 默认值也是false
            writable: true,
            // enumerable 如果值为false 则不允许遍历, 默认的值是 false
            enumerable: true,
            // configurable 如果为false 则不允许删除这个属性 默认为false
            configurable: true
        });
console.log(obj.address);

猜你喜欢

转载自blog.csdn.net/weixin_46002223/article/details/108288630
今日推荐