美文网首页vue
ES6 扩展字符串数组对象常用方法整理

ES6 扩展字符串数组对象常用方法整理

作者: majun00 | 来源:发表于2018-11-29 16:32 被阅读0次

数组扩展

  1. Array.from() 将类数组对象和可遍历对象转换成数组
Array.from('hello') // ['h', 'e', 'l', 'l', 'o']
  1. Array.of() 将一组值转换为数组
Array.of(3, 2, 1) // [3,2,1]

Array.from([1, 2, 3], x => x * x) // [1, 4, 9]

Array.from([1, , 2, , 3], n => n || 0) // [1, 0, 2, 0, 3]

Array.from({ length: 2 }, () => 'jack') // ['jack', 'jack']
  1. copyWithin(target, start = 0, end = this.length) 复制成员

  2. find(),findIndex() 查找值,查找索引

[1, 4, -5, 10].find((n) => n < 0) // -5

[1, 5, 10, 15].find(function(value, index, arr) {
  return value > 9;
}) // 10

[1, 5, 10, 15].findIndex(function(value, index, arr) {
  return value > 9;
}) // 2

[NaN].findIndex(y => Object.is(NaN, y))// 0 和indexOf不同,可以找到NaN
  1. fill() 填充 (注意是浅拷贝)
new Array(3).fill(7) // [7, 7, 7]

['a', 'b', 'c'].fill(7, 1, 2) // ['a', 7, 'c']
  1. entries(),keys()和values()
for (let index of ['a', 'b'].keys()) {
  console.log(index);
}
// 0
// 1

for (let elem of ['a', 'b'].values()) {
  console.log(elem);
}
// 'a'
// 'b'

for (let [index, elem] of ['a', 'b'].entries()) {
  console.log(index, elem);
}
// 0 "a"
// 1 "b"
  1. includes() 表示某个数组是否包含给定的值,可以找到NaN,可代替indexOf
[1, 2, NaN].includes(NaN) // true

[1, 2, 3].includes(3, 3);  // false
  1. flat(),flatMap() 拉平
[1, 2, [3, 4]].flat() // [1, 2, 3, 4]

[1, [2, [3]]].flat(Infinity) // [1, 2, 3] 默认只能拉平一层,可加入参数指定层数

[1, 2, , 4, 5].flat() // [1, 2, 4, 5] 会跳过空位

[2, 3, 4].flatMap((x) => [x, x * 2]) // [2, 4, 3, 6, 4, 8]

[1, 2, 3, 4].flatMap(x => [[x * 2]]) // [[2], [4], [6], [8]]
  1. 扩展运算符

对象扩展

  1. Object.is()

  2. Object.assign(target, source1, source2); 很常用,用的比较熟了就不介绍了(注意是一层深拷贝)

  3. Object.keys(),Object.values(),Object.entries()

let {keys, values, entries} = Object;
let obj = { a: 1, b: 2, c: 3 };

for (let key of keys(obj)) {
  console.log(key); // 'a', 'b', 'c'
}

for (let value of values(obj)) {
  console.log(value); // 1, 2, 3
}

for (let [key, value] of entries(obj)) {
  console.log([key, value]); // ['a', 1], ['b', 2], ['c', 3]
}

const obj = { 100: 'a', 2: 'b', 7: 'c' };
Object.values(obj)
// ["b", "c", "a"]

const obj = { foo: 'bar', baz: 42 };
Object.entries(obj)
// [ ["foo", "bar"], ["baz", 42] ]

Object.fromEntries([
  ['foo', 'bar'],
  ['baz', 42]
])
// { foo: "bar", baz: 42 }
  1. 扩展运算符

  2. 其他
    Object.getOwnPropertyDescriptors()方法,返回指定对象所有自身属性(非继承属性)的描述对象
    Object.getOwnPropertyDescriptor()方法会返回某个对象属性的描述对象
    Object.setPrototypeOf() 原型对象写操作
    Object.getPrototypeOf() 原型对象读操作
    Object.create() 原型对象生成操作

字符串扩展

includes() 返回布尔值,表示是否找到了参数字符串。
startsWith() 返回布尔值,表示参数字符串是否在原字符串的头部。
endsWith() 返回布尔值,表示参数字符串是否在原字符串的尾部。
repeat(n) 重复
padStart(n,str) 头部补全
padEnd(n,str) 尾部补全

数值扩展

Number.isFinite(), Number.isNaN()
Number.parseInt(), Number.parseFloat()
Number.isInteger() 是否是整数
Math.trunc() 去除一个数的小数部分,返回整数部分。
Math.sign() 为正数,返回+1;为负数,返回-1;为 0,返回0;为-0,返回-0;其他值,返回NaN。

相关文章

  • es6的数值,函数,字符串扩展

    一、es6的数值扩展 二、es6的函数扩展 代码效果:对象解构在函数中的应用 三、es6字符串扩展 常用方法 代码...

  • ES6 扩展字符串数组对象常用方法整理

    数组扩展 Array.from() 将类数组对象和可遍历对象转换成数组 Array.of() 将一组值转换为数组 ...

  • ES6扩展归纳

    ES6扩展归纳 介绍ES6相比与ES5在原有对象上的扩展,包括字符串、正则、数值、函数、数组、对象等扩展,本文是阮...

  • ES6扩展

    字符串扩展 正则扩展 数值扩展 函数扩展 对象扩展 数组扩展 字符串扩展 模版字符串 部分新的方法 padStar...

  • es6常用知识

    es6编译 let、const const常量 模板字符串 对象的扩展(属性和方法的简洁表达式) demo4 数组...

  • 数组去重

    分类 非对象数组去重 对象数组去重 分类一 --- 非对象数组去重 方法一: set(es6常用) 方法二:red...

  • 2018-04-21

    ES6数组的扩展整理

  • js 常用方法总结

    字符串的常用属性,概览 Array对象的方法; 详细js数组常用方法大全

  • 《ECMAScript 6 入门》笔记

    变量的解构赋值 字符串的扩展 正则的扩展 数值的扩展 函数的扩展 数组的扩展 对象的扩展 对象的新增方法 表单验证...

  • ES6中对函数的扩展

    ES6一路扩展,字符串、数组、数值、对象无一“幸免”,ES6说要雨露均沾,函数也不能落下,今天,就来讲解ES6对函...

网友评论

    本文标题:ES6 扩展字符串数组对象常用方法整理

    本文链接:https://www.haomeiwen.com/subject/ljpfcqtx.html