ES5新增 数组,字符串,对象方法

2021-02-21 03:19

阅读:495

标签:str   class   索引   lse   检查   current   reac   address   特性   

数组新增方法

迭代方法:forEach() map() filter() some() every()

forEach()

// array.forEach(function (currentValue, index, arr));
// currentValue:数组当前项的值
// index: 数组当前项的索引
// arr:数组对象本身
var arr = [1, 2, 3];
arr.forEach(function(value, index, array) {
   console.log(value); // 1, 2, 3
   console.log(index); // 0, 1, 2
   console.log(array); // [1, 2, 3] [1, 2, 3] [1, 2, 3]
});

filter()

// arr.filter(function (currentValue, index, array));
// filter() 方法创建了一个新数组,新数组中的元素是通过检查指定数组中符合条件的所有元素,主要用于筛选数组
// 它直接返回一个新的数组;
var newAarr = arr.filter(function (item, index) {
   return item > 1; 
});
console.log(newArr);

some()

// arr.some(function (currentValue, index, array){})
// some方法用于检测数组中的元素是否满足条件;返回的是一个布尔值
// 如果找到第一个满足条件的元素,则终止循环,不在继续查找
var flag = arr.some(function (item) {
    return item === 1;
})
console.log(flag);

字符串新增方法

// trim() 会从一个字符串的两端删除空白返回一个新的字符串不影响原来的字符串
var str = ‘  andy  ‘;
var str1 = str.trim();
console.log(str1); // andy

对象方法

Object.keys()

// 用于获取对象自身的所有属性;效果类似于for in,返回一个由属性名组成的数组
var obj = {name: ‘zs‘, age: 23}
var arr = Object.keys(obj); // ["name", "age"]

Object.definePropetry()

// Object.definePropetry(obj, prop, descriptor);
// obj:必须 目标对象
// prop: 必须 需定义或修改的属性的名字
// descriptor: 必须 目标属性所拥有的特性 传入一个对象
// value: 设置属性值,默认是undefined
// writable:值是否可以被重写, 默认false 不可以
// enumerable: 目标属性是否可以被枚举, 默认fasle
// configurable:目标属性是否可以删除或是否可以再次修改特性,默认false
bject.defineProperty(obj, ‘age‘, {
  value: 24
});
Object.defineProperty(obj, ‘id‘, {
  value: 1,
  writable: false, // 不允许被修改
  enumerable: true
})
Object.defineProperty(obj, ‘address‘, {
  value: ‘china‘,
  writable: false,
  enumerable: true, // 是否可以被循环
  configurable: false, // 不允许删除这个属性
})
obj.id = 2;
delete obj.address;
console.log(Object.keys(obj));

ES5新增 数组,字符串,对象方法

标签:str   class   索引   lse   检查   current   reac   address   特性   

原文地址:https://www.cnblogs.com/article-record/p/12676908.html


评论


亲,登录后才可以留言!