其他分享
首页 > 其他分享> > ES5常用方法

ES5常用方法

作者:互联网

ES5 中新增方法

数组方法

  1. 迭代(遍历)方法:forEach()、map()、filter()、some()、every()

forEach

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

filter

  1. filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素,主要用于筛选数组
  2. 注意它直接返回一个新数组
array.filter(function(value, index, arr) {
    
});
// filter 筛选数组
let arr = [12, 66, 4, 88];
let newArr = arr.filter(function(value, index) {
    return value >= 20;
})
console.log(newArr); // [66,88]

some

  1. some() 方法用于检测数组中的元素是否满足指定条件,通俗点 查找数组中是否有满足条件的元素。
  2. 注意:它的返回值是布尔值,如果查找到这个元素,就返回true,如果找不到就返回false
  3. 如果找到第一个元素满足条件的元素,则终止循环,不在继续查找
// some 查找数组中是否有满足条件的元素
let arr = [10,30,4];
// 返回值是true或false
let flag = arr.some(function(value, index) {
    return value >= 20;
});

foeEach和some和filter的区别

let arr = ['red','green','blue','pink'];

arr.forEach(function(value,index) {
    if(value >= 20) {
        console.log('元素找到啦');
    	return true;  // 在forEach里面 return 不会终止迭代 
    }
});
// some 返回的是一个true 和 false
arr.some(function(value, index) {
    if(value >= 20) {
       console.log('元素找到啦');
       return true; // 在some里面 遇到 return true 就会终止遍历 迭代效率更高
    }
});
// filter返回的是一个数组
arr.filter(function(value, index) {
    if(value >= 20) {
       console.log('元素找到啦');
       return true; // 在filter里 return true 不会终止迭代 
    }
});

字符串方法

  1. trim() 方法会从一个字符串的两端删除空白
str.trim();

对象方法

Object.keys()

  1. Object.keys() 用于获取对象自身所有的属性。
Object.keys(obj)
let obj = {
    id: 1,
    pname: '小米',
    price: 1999,
    num: 2000
}
let arr = Object.keys(obj);

Object.entries()

  1. Object.entries() 用于获取对象自身所有的key和value
    • 返回值是一个数组,每一项是一个数组包含 key value
let obj = {
    name: '张三',
    age: 20
}

let objInfo = Object.entries(obj);
console.log(objInfo); // [['name', '张三'],['age', 20]]

Object.defineProperty()

  1. Object.defineProperty() 定义对象中新属性或修改原有的属性
object.defineProperty(obj,prop,descriptor)
let obj = {
    id: 1,
    pname: '小米',
    price: 1999
}
// Object.defineProperty() 定义新属性或修改原有的属性
// 增加
Object.defineProperty(obj,'num', {
    value: 1000
})
// 修改
Object.defineProperty(obj,'price', {
    value: 9.9
});
// 设置id不可修改
Object.defineProperty(obj, 'id', {
    writable: false;
});

标签:ES5,false,Object,some,arr,常用,value,数组,方法
来源: https://www.cnblogs.com/bingquan1/p/15898568.html