javascriptで、指定されたサイズの空の配列を作成するにはどうすればよいですか?
擬似コード:
X = 3;
createarray(myarray, X, "");
出力:
myarray = ["","",""]
javascriptで、指定されたサイズの空の配列を作成するにはどうすればよいですか?
擬似コード:
X = 3;
createarray(myarray, X, "");
出力:
myarray = ["","",""]
回答:
var arr = new Array(5);
console.log(arr.length) // 5
in javascript how would I create an empty array of a given size。これはその問題を解決します。
1)反復できない新しい配列を作成するには、配列コンストラクターを使用できます。
Array(100) または new Array(100)
2)新しい配列を作成できます。これは次のように繰り返すことができます。
a)すべてのJavaScriptバージョン
Array.apply(null, Array(100))b) ES6JavaScriptバージョンから
[...Array(100)]Array(100).fill(undefined)Array.from({ length: 100 })以下のように、これらの配列にマップできます。
Array(4).fill(null).map((u, i) => i) [0、1、2、3]
[...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]
Array(10000)とはempty x 10000?
console.log(Array(10000).length)ただし、実行するとArray(10000).forEach((u, i) => console.log(i))、出力は得られません
Array.apply('x', Array(10))実際には[undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined]
Array.from({length: 500})2017年から使用しています。
2018年以降は[...Array(500)]、そのために使用します。
(() => { let n = []; for(var i=0;i<500;i++){y.push("");} return n; })()。
ES5以降(この回答が出されたとき):
undefined要素の空の配列が必要な場合は、次のようにすることができます。
var whatever = new Array(5);
これはあなたに与えるでしょう
[undefined, undefined, undefined, undefined, undefined]
空の文字列で埋めたい場合は、次のようにします。
whatever.fill('');
それはあなたに与えるだろう
["", "", "", "", ""]
そして、あなたがそれを一行でやりたいのなら:
var whatever = Array(5).fill('');
new Array(2)が、返されるのはではあり[ <2 empty items> ]ません[undefined, undefined]。.map前者で使用しても効果はありません。ただし、for...ofループを使用して反復することはできます。リテラル表記を使用して新しい配列を作成すると、a = [undefined, undefined]それを使用できます.map。
Array(5)ます。次の出力が表示されます[undefined x 5]。
javascriptメソッドrepeat()とsplit()の両方を一緒に使用できます。
" ".repeat(10).split(" ")
このコードは、10個のアイテムを含む配列を作成し、各アイテムは空の文字列です。
const items = " ".repeat(10).split(" ")
document.getElementById("context").innerHTML = items.map((item, index) => index)
console.log("items: ", items)
<pre id="context">
</pre>