ES6常用方法

1:includes 判断是否包含,当包含时返回true,不包含时返回false

let string = "123456";
   let s1 = "123";
        let s2 = "011";
        string.includes(s1); //true
        string.includes(s2); //false

2:数组去重

1、
  let array = [1, 1, 1, 2, 3, 4, 4, 5, 3,6];
  let arr = new Set(array);
   console.log(arr);[1, 2, 3, 4, 5]
 2、
  let array = Array.from(new Set([1, 1, 1, 2,2, 3, 2, 4])); [1, 2, 3, 4]
 3、
  let arr = [1,2,3,4,5,6]
  let ids = [1,3,4,6]
  const arr2 = new Set(ids)
   var res = arr.filter(item => !arr2.has(item));  [2,5]

3:字符串

includes():   返回布尔值,表示是否找到了参数字符串
startsWith():返回布尔值 ,表示字符串是否在源字符串的头部
endsWith():返回布尔值 ,表示字符串是否在源字符串的头部
var s = 'Hello world';
s.startsWith('world', 6) // true 第二个参数表示开始搜索的位置
s.endsWith('Hello', 5) // true  第二个参数代表截取到前5 个
s.includes('Hello', 6) // false  第二个参数表示开始搜索的位置

4:Object.assign()  多个对象操作合并两个或者多个object

var obj1 = { a: 1, b: 2 }; 
var obj2 = { c: 3, d: 4 }; 
var obj3 = { e: 5};
// ES6
Object.assign(obj1, obj2, obj3)
// result
obj1 = { a: 1, b: 2, c: 3, d: 4, e: 5}
var obj1 = { a: 1, b: 2 }; 
var obj2 = { b: 3, d: 4 };
// ES6
Object.assign(obj1, obj2)
// result
obj1 = {a: 1, b: 3, d: 4}
相同的属性的话后边的会把前面的属性覆盖掉

5:解构赋值  从数组和对象中提取值,对变量进行赋值

let { foo, bar } = { foo: '123', bar: '456' };
foo // "123"
bar // "456"
var { a, b = 3 } = { a: 1 };
// a = 1
// b = 3

6:String.repeat() 方法返回一个新字符串,表示将原字符串重复n

var str = 'aaa '
var repeat = str.repeat(3)
// aaa aaa aaa 

7:模板字符串

let obj = {x: 1, y: 2};
`${obj.x + obj.y}`
// 3
模板字符串之中还能调用函数
function fn() {
    return "你好";
}
`${fn()} 模板字符串`
// 你好 模板字符串

8:扩展运算符(spread)是三个点(...

function add(x, y) {
  return x + y;
}

const numbers = [4, 38];
add(...numbers) // 42

onst arr1 = ['a', 'b'];
const arr2 = ['c'];

// ES6 的合并数组
[...arr1, ...arr2]
// [ 'a', 'b', 'c']

与解构赋值结合
const [first, ...rest] = [1, 2, 3, 4, 5];
first // 1
rest  // [2, 3, 4, 5]

const [first, ...rest] = [];
first // undefined
rest  // []
扩展运算符还可以将字符串转为真正的数组。
[...'hello']
// [ "h", "e", "l", "l", "o" ]
 

 

posted @ 2021-08-23 13:36  骅骝漫轻舞01  阅读(183)  评论(0编辑  收藏  举报