用法: 方法对一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例值。 语法:Array.from(arrayLike[, mapFn[, thisArg]]) 参数: arrayLike:想要转换成数组的伪数组对象或可迭代对象。 mapFn 可选:如果指定了该参数,新数组中的每个元素会执行该回调函数。 thisArg 可选:可选参数,执行回调函数 mapFn 时 this 对象。 返回值:一个新的数组实例。

    1. //String 生成数组
    2. let str1 = Array.from('foo');
    3. console.log(str1)
    4. //Set 生成数组
    5. const set = new Set(['foo', 'bar', 'baz', 'foo']);
    6. let str2 = Array.from(set);
    7. console.log(str2)
    8. //Map 生成数组
    9. const map = new Map([[1, 2], [2, 4], [4, 8]]);
    10. let str3 = Array.from(map);
    11. console.log(str3)
    12. const mapper = new Map([['1', 'a'], ['2', 'b']]);
    13. let str4 = Array.from(mapper.values());
    14. console.log(str4)
    15. let str5 = Array.from(mapper.keys());
    16. console.log(str5)
    17. //数组去重合并
    18. function combine(){
    19. let arr = [].concat.apply([], arguments); //没有去重复的新数组
    20. return Array.from(new Set(arr));
    21. }
    22. let m = [1, 2, 2], n = [2,3,3];
    23. console.log(combine(m,n));

    image.png