美文网首页
不使用循环,如何创建一个长度为100的数组

不使用循环,如何创建一个长度为100的数组

作者: 阿布朗迪 | 来源:发表于2018-12-07 11:04 被阅读0次

    问题描述:在不使用循环的条件下,如何创建一个长度为100的数组,并且数组的每一个元素是该元素的下标?

    方法一:传统的方法创建

     var arr = new Array(100);
     for(var i = 0;i< 100;i++){
          arr[i] = i;
     }
     console.log( arr)
    

    方法二:Object.keys()
    这种方法一般真的很少有人用,如果不对此有研究的很难挖掘到,如果在面试当中碰到这样的题目,可能是一个加分项,但是一定要对此有深入的了解。在MDN中是这样描述的

    **Object.keys()** 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用for...in 循环遍历该对象时返回的顺序一致 。

    Object.keys(obj)
    参数
    obj 要返回其枚举自身属性的对象,返回值是一个表示给定对象的所有可枚举属性的字符串数组

    Object.keys 返回一个所有元素为字符串的数组,其元素来自于从给定的object上面可直接枚举的属性。这些属性的顺序与手动遍历该对象属性时的一致。

    let a = Object.keys(Array.apply(null,{length:100})).map(function(item){
        return +item
    });
    console.log( a )
    
    +号是一个转换格式的小技巧,你也可以使用parseInt
    

    方法三:Array.from()

    var arr = Array.from({length:100},(v,i)=>{i}).keys;
    console.log( arr )
    
    这里使用的Array.from()方法,从类数组或可迭代的对象创建一个新数组
    

    方法四:Array.keys()

    var arr = new Array(100).keys();
    console.log( Array.from(arr) )
    
    这里主要使用Array.keys()方法,获取数组的key值
    

    方法五:Object.keys() 与 Array.from()

    var arr = Object.keys(Array.from({length:100})).map((item)=>{return +item});
    console.log( arr )
    

    方法六:使用...扩展运算符

    var arr = [...Array.from({length:100}).keys()];
    console.log(arr);
    

    原文出处https://www.cnblogs.com/liugang-vip/p/6617988.html

    相关文章

      网友评论

          本文标题:不使用循环,如何创建一个长度为100的数组

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