JavaScript 巧用小样

2018-07-02  本文已影响0人  小淘气_嘻

删除数组尾部元素

更改数组的length值

使用对象结构来模拟命名参数

之前的方法: 使用对象{ a: a1,b:b1}来定义配置多项参数的传入
fn({ foo: 'Hello', bar: 'Hey!', baz: 42 })
ES2015中 使用对象解构 : 无须声明来赋值一个变量

//对象解构
function fn ({ foo = 'Hi', bar = 'Yo!', baz = 13 }){}
//对象解构 + 参数可选(此时可以通过 fn() 没有参数的情况下调用函数)
function fn ({ foo = 'Hi', bar = 'Yo!', baz = 13 }  = {}){}

数组解构

{ [key] :foo } = {z:"bar"}== > foo = "bar" 对象属性计算名

var  thearr = '1997, John , john@doe.com';
var {2:country , 4: state} = thearr.split(',');

Switch语句中使用范围值

//假设传入参数 temp
switch(true){
    case (temp 0): ...... break;
     case (temp >0 && temp 100): .... break;
      default:   ....
}

await 多个async 函数

async 声明一个函数是异步;await是用于等待异步完成,只能在async中使用。
async/await的时候,可以使用Promise.all来await多个async函数

await Promise.all([Async(),Async2(),Async3()])

创建pure Object

var pure object = Object.create(null);

格式化JSON代码

JSON.stringify 讲一个对象字符化; 或格式化输出JSON对象

var obj ={
       foo: { bar: [11, 22, 33, 44], baz: { bing: true, boom: 'Hello' } }
}
JSON.stringify(obj, null, 4);  //4就是数据总共有四层

数组中移除重复元素

使用集合语法和Spread操作,很容易将重复的元素移除。

Spread操作符(...) 用于: 函数传参数组生成

const removeDuplicateItems = arr => [...new Set(arr)];
removeDuplicateItems([42, 'foo' ,42 , 'foo', true, true]);

平铺多维数组

spread操作

const arr =[11, [22,33],[44,55] ,66];
const flatArr = [].concat(...arr);
function flattenArray(arr) {
  const flattened = [].concat(...arr);
  return flattened.some(item => Array.isArray(item)) ?    flattenArray(flattened) : flattened;
}
const arr = [11, [22, 33], [44, [55, 66, [77, [88]], 99]]];

const flatArr = flattenArray(arr);

//=> [11, 22, 33, 44, 55, 66, 77, 88, 99]
上一篇下一篇

猜你喜欢

热点阅读