常用的es6及以上的语言demo总结

数组的常用操作方法

  • Array.find() :返回通过测试函数的第一个数组元素的值
  • Array.findIndex() : 返回通过测试函数的第一个数组元素的索引
  • Array.includes():检查元素是否存在于数组中
var numbers = [4, 9, 16, 25, 29];
var first = numbers.find(function(value, index, array) {
  return value > 18;
});// 结果:25

var sec= numbers.findIndex(function(value, index, array) {
  return value > 18;
});// 结果:3

const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.includes("Mango"); // 为 true

数字是否为整数

ES6 为 Number 对象添加了 2 个新方法:
Number.isInteger():数字是否为整数
Number.isSafeInteger():双精度整数

Number.isInteger(10);        // 返回 true
Number.isInteger(10.5);      // 返回 false

新的全局方法

ES6 还增加了 2 个新的全局数字方法:
isFinite()
isNaN():常用
箭头函数:常用 优缺点和使用注意事项

JavaScript Map对象

ECMAScript 2017 向对象添加了新的 Object.entries 方法。

  • Object.get()
  • Object.set()
  • Object.entries() 返回 Map 对象中键/值对的数组
  • Object.values() 返回 Map 对象中键的数组
  • Object.keys() 返回 Map 对象中值的数组

一般在处理后端数据的时候可能会用到

const person = {
  firstName : "Bill",
  lastName  : "Gates",
  age     : 19,
  eyeColor  : "blue"
};
Object.values(person)
//结果:‘firstName,Bill,lastName,Gates,age,19,eyeColor,blue’
Object.values(person)
//结果:‘Bill,Gates,19,blue’

JavaScript Set 对象

Set 是唯一值的集合;每个值在 Set 中只能出现一次;一个 Set 可以容纳任何数据类型的任何值。
set()的基本用法
在这里插入图片描述

函数

  • Async 函数
  • 异步迭代
    ECMAScript 2018 添加了异步迭代器和可迭代对象。
    通过异步迭代,我们可以在 for/of 循环中使用 await 关键字:for await () {} forEach中使用无效,(forEach中会继续往下执行,不会等待await)
  • JavaScript Promise.finally
let myPromise = new Promise();
myPromise.then();
myPromise.catch();
myPromise.finally();
  • 新的 JavaScript RegExp 特性 (我不常用)
  • JavaScript 对象 Rest 属性
    ECMAScript 2018 添加了 Rest 属性。
    这允许我们破坏一个对象并将剩余物收集到一个新对象上,使用原理:浅谈 JS对象的 rest/spread 属性指南
let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
x; // 1
y; // 2
z; // { a: 3, b: 4 }

数组操作函数 some()、every()、filter()、map()、set()、reduce()、sort()

  • some() 方法用于检测数组中的元素是否满足指定条件
    some() 方法会依次执行数组的每个元素:
    如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
    如果没有满足条件的元素,则返回false。
    注意: some() 不会对空数组进行检测, some() 不会改变原始数组

  • every() 方法用于检测数组所有元素是否都符合指定条件
    every() 方法使用指定函数检测数组中的所有元素:
    如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
    如果所有元素都满足条件,则返回 true。
    注意: every() 不会对空数组进行检测,every() 不会改变原始数组。

var arr = [3,6,9,12];
let status = arr.some((item) => {return item== 12})
console.log(status)
//true 因为arr数组中有12的值,所以代码块会执行
var arr = [13,15,9,12];
let status = arr.every((number){return number > 10;})
console.log(status) 
//false 因为9小于10   所以返回false
  • filter()用于把数组的某些元素过滤掉,然后返回剩下的元素
    filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素。
    注意:得到的数组元素个数可能发生了改变,但是数组元素不会发生改变;原始数组不变。

  • map()按照原始数组元素顺序依次处理元素,返回一个新数组,数组中的元素为原始数组元素调用函数处理的后值
    得到的数组元素个数不变,但是按照一定的条件转换,数组元素发生了变化;原始数组不变。

let arr = [1,2,3,4,5,6];
let narr = arr.filter((num) => {return num >= 5});
//结果:narr = [5,6]

let oldArr=[1,2];
let newArr=oldArr.map((item) => {return item*2});
console.log(newArr.valueOf());
//结果:[2,4]

  • set() Set 是一种新集合类型,为这门语言带来集合数据结构
    类似于数组,但是成员的值都是唯一的,没有重复的值。Set 本身是一个构造函数,用来生成 Set 数据结构,构造函数,生成 Set 数据结构。
let arr2 = new Set([1,1,2,3,4])
let arr3 = [...arr2]
console.log(arr2, arr3) // {1,2,3,4} [1,2,3,4]

// 注意:数组类型和set数组结构实例的使用,用set对数组去重,需记得要Set实例转数组,Array.from(new Set())
const s = new Set([1, 1, 2, 3, 4, 4, 5, 6, 7, 4, 2, 1]);
let m = Array.from(s); //  [1, 2, 3, 4, 5, 6, 7]
// s m都是object类型,但s是Set型,m是Array,。

在这里插入图片描述
在这里插入图片描述

  • reduce() 方法对数组中的每个元素执行一个由开发者自己提供的函数,将其结果汇总为单个返回值
    可以理解为,reduce会遍历数组元素,将每个元素都作为参数,代入自定义函数执行并返回一个返回值。并在下一次执行时将返回值作为参数传入。
const arr = [1, 2, 3, 4]

// 求数组元素值的总和
//let total = arr.reduce((sum , item) => {
//    return sum + item
//},0)
const func = (sum, item) => sum + item;
let total = arr.reduce(func);
console.log(total)

/*
  参数1: 回调函数
        回调函数参数
           sum :  用来保存临时结果
           item: 数组中每一个元素值
           
  参数2: 初始值
        设置 sum 最开始的初始值. 如果没有这个参数设置. sum 将使用数组中第一个元素作为初始值
*/

sort()基本使用方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值