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

Posted article-record

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES5新增 数组,字符串,对象方法相关的知识,希望对你有一定的参考价值。

数组新增方法

迭代方法: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新增 数组,字符串,对象方法的主要内容,如果未能解决你的问题,请参考以下文章

ES5新增方法总结(数组方法,字符串方法,对象方法)

ES5 新增方法概述

带你学习ES5中新增的方法

JavaScript高级之ES5 中的新增方法

字符串方法,js中的数组方法,ES5新增的数组方法,以及jQuery中的数组方法

ES5对象新增的方法