ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ES5常用方法

2022-02-15 23:32:21  阅读:189  来源: 互联网

标签:ES5 false Object some arr 常用 value 数组 方法


ES5 中新增方法

数组方法

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

forEach

array.forEach(function(currentValue, index, arr))
  • 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]
  • filter 也是查找满足条件的元素 返回的是一个数组 而且是把所有满足条件的元素返回回来

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;
});
  • some 查找满足条件的元素是否存在 返回的是一个布尔值

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 不会终止迭代 
    }
});
  • 注:如果查询数组中唯一的元素,用some方法更适合

字符串方法

  1. trim() 方法会从一个字符串的两端删除空白
str.trim();
  • trim方法并不影响本身,它返回的是一个新的字符串

对象方法

Object.keys()

  1. Object.keys() 用于获取对象自身所有的属性。
Object.keys(obj)
  • 效果类似for ... in
  • 返回一个由属性名组成的数组
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)
  • obj:必须。目标对象

  • prop:必须。需定义或修改的属性的名字

  • descriptor:必须。目标属性所拥有的特性

    Object.defineProperty() 第三个参数 descriptor 说明:以对象的形式{} 书写

    1. value:设置属性的值 默认值是undefined。
    2. writable:值是否可以重写。 true或false 默认为false
    3. enumerable:目标属性是否可以被枚举。 true或false 默认为false
    4. configurable:目标属性是否可以被删除或是否可以再次修改特性true或false 默认为false
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;
});
  • writable 默认值是 false 绑定属性后 属性值是不可修改的
  • enumerable 默认值是false 则不允许遍历
  • enumerable 默认是false 则不能被遍历
  • configurable 默认是false 则不能被删除 且不能 修改第三个参数里面的特性

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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有