javascript创建给定大小的空数组

时间:2016-01-22 01:11:21

标签: javascript

在javascript中如何创建给定大小的空数组

Psuedo代码:

X = 3;
createarray(myarray, X, "");

输出:

   myarray = ["","",""]

9 个答案:

答案 0 :(得分:126)

1)要创建新的数组,无法迭代,您可以使用数组构造函数:

new Array(100)Array.apply(null, Array(100))


2)您可以创建新的数组,可以迭代,如下所示:

a)所有JavaScript版本

  • Array.apply: [...Array(100)]

b)来自ES6 JavaScript版

  • 解构运营商: Array(100).fill(undefined)
  • Array.prototype.fill Array.from({ length: 100 })
  • Array.from Array(4).fill(null).map((u, i) => i)

您可以映射这些数组,如下所示。

  • [...Array(4)].map((u, i) => i) [0,1,2,3]

  • Array.apply(null, Array(4)).map((u, i) => i) [0,1,2,3]

  • Array.from({ length: 4 }).map((u, i) => i) [0,1,2,3]

  • {{1}} [0,1,2,3]

答案 1 :(得分:36)

var arr = new Array(5);
console.log(arr.length) // 5

答案 2 :(得分:27)

自2017年起,我们使用Array.from({length: 500})

答案 3 :(得分:12)

尝试使用while循环,Array.prototype.push()

var myArray = [], X = 3;
while (myArray.length < X) {
  myArray.push("")
}

或者,使用Array.prototype.fill()

var myArray = Array(3).fill("");

答案 4 :(得分:8)

在2018年,从那时起我们将[...Array(500)]用于此目的。

答案 5 :(得分:6)

如果你想要一个空的include(project_defs.txt) if (OS) .... 元素数组,你可以简单地做

undefined

这会给你

var whatever = new Array(5);

然后如果你想用空字符串填充它,你可以做

[undefined, undefined, undefined, undefined, undefined]

会给你

whatever.fill('');

如果你想在一行中做到这一点:

["", "", "", "", ""]

答案 6 :(得分:4)

如果您想使用一些值创建匿名数组,以便可以使用此语法。

var arr = new Array(50).fill().map((d,i)=>++i)
console.log(arr)

答案 7 :(得分:0)

您可以同时使用JavaScript方法repeat()和split()。

    @ExceptionHandler(NullPointerException.class)
    public ResponseEntity<String> handleWebClientResponseException(NullPointerException ex) {
        if(ex!=null && ex.getStackTrace().length >0
                && ex.getStackTrace()[0].getFileName().equals("DefaultClientCredentialsTokenResponseClient.java")
                && ex.getStackTrace()[0].getMethodName().equals("getTokenResponse")) {
            return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body("auth error detected");
        } else {
            return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(ex.getMessage());
        }
    }

此代码将创建一个包含10个项目的数组,每个项目都是空字符串。

" ".repeat(10).split(" ")
const items = " ".repeat(10).split(" ")

document.getElementById("context").innerHTML = items.map((item, index) => index)

console.log("items: ", items)

答案 8 :(得分:-2)

我会这样做:

function emptyArray(length){
  var a = [];
  for(var i=0,l=length; i<l; i++){
    a.push('');
  }
  return a;
}
var empty10 = emptyArray(10);

如果你想要空字符串,否则

var empty10 = new Array(10);

会创建一个真正空的数组。