zoukankan      html  css  js  c++  java
  • ES6

    之前的es6 教程中有说过一句代码实现数组去重的方法(http://www.cnblogs.com/lafitewu/p/8480055.html)

    今天还给大家带来一个新的去重方法:Set

    const arr = [1,0,2,0,5,4,4,5,0,1]

    let newArr = [...new Set([1,0,2,0,5,4,4,5,0,1])]

    console.log(newArr)  // [1,0,2,5,4]

    感觉这种方法更为简洁。

    说到这里,此处也碰到一个奇怪的问题。

    console.log(typeof(newArr))  // object

    what? ? ? 这是什么个情况?它不是应该打印出array么?

    懵逼中...   10分钟过去后,独自折腾,终于

    要想判断一个类型是不是数组类型,可以用 console.log(Array.isArray(arr)) // true

    这时突然想起,以前面试时,总有面试官会问,你如何判断一个变量类型是数组还是对象啊? 我毫无防备的说 typeof ,嗯还是自己太年轻。

    typeof 也可以,但是得这样玩 console.log(typeof(arr.length))  // number ,之所以可以这样判断,是因为对象是没有 length 这个属性的, 你get了吗?

    最后new Set() 出来的是一个object 类型,这时候可以用 ... 或者 Array.from(newArr) 来转化成数组类型。 ps: 这是es6 对象转数组

    es5:  [].slice.call(newArr2)

  • 相关阅读:
    编译型语言和解释性语言
    2.变量和基本类型——2.2变量
    2.变量和基本类型——2.1基本内置类型
    1.开始
    机器学习基础—集成学习Bagging 和 Boosting
    C++多态?
    python dataframe数据条件筛选
    UDA机器学习基础—评估指标
    MFC 树形控件
    MFC 列表控件List Control
  • 原文地址:https://www.cnblogs.com/lafitewu/p/8521072.html
Copyright © 2011-2022 走看看