[英]How to sort multi-array / nested map by value (e.g. from Firestore) in JavaScript
[英]How to generate an array of words (e.g. value_1, value_2,..., value_#) where the number of words is equal to #?
我有一個變量(例如):
var numINeed = 4
我需要像這樣動態創建一個數組:
var arrayINeed = ["value_1","value_2","value_3","value_4"]
其中最后一項的格式使得 value_# 中的 # 等於 var numINeed,這意味着 arrayINeed 的長度 = var numINeed 的長度
到目前為止嘗試過:
我嘗試使用 for 循環創建數組(順便說一下,我正在使用 Vue JS)
data: () => ({
arrayINeed: [],
variableA: []
}),
for (var i = 0; i<this.numINeed; ++i) {
this.variableA = "value_" + i;
this.arrayINeed.push(this.variableA);
}
我相信這可能寫錯了。 我怎樣才能讓它按預期工作?
使用 ES6:
let arrayINeed = Array.from(Array(4), (_,x) => "value_" + (x+1)); console.log(arrayINeed);
我剛剛編輯了你的代碼。 變量 i 從零開始,所以我給它加了一個。
var numINeed = 4; arrayINeed = []; for (var i = 0; i<numINeed; ++i) { let variableA = "value_" + (i+1); arrayINeed.push(variableA); } console.log(arrayINeed);
一個簡短的代碼可能是這樣的:
var numINeed = 4; var newArray = Array(numINeed).fill('').map((v, i) => `value_${i+1}`); console.log(newArray);
使用while
循環生成數組
var numINeed = 4; var arrayINeed = []; var i = 1; while (i < numINeed + 1) { arrayINeed.push("value_" + i); i++; } console.log(arrayINeed);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.