How to best create this in runtime?
var fields = ["abc", "def", "somepar", "otherpar"];
var toSet = "foo";
// How to genereate this variable from code
var valuepairs = [["Progress", progress], [fields[0], toSet], [fields[1], toSet], [fields[2], toSet]]; // [fields[n], toSet]
Regards
Larsi
asked Mar 14, 2011 at 10:23
Larsi
4,7928 gold badges52 silver badges80 bronze badges
-
What are you asking here? The code you gave here is completely valid. How do you need to use it?picardo– picardo2011年03月14日 10:29:08 +00:00Commented Mar 14, 2011 at 10:29
-
@picardo: Seems pretty clear. He gives the inputs and asks how to programmatically generate the given output.Lightness Races in Orbit– Lightness Races in Orbit2011年03月14日 12:21:39 +00:00Commented Mar 14, 2011 at 12:21
2 Answers 2
Use the .push method to append to an array...
var valuepairs = [["Progress", progress]];
for (var k = 0; k < fields.length; ++ k)
valuepairs.push([fields[k], toSet]);
answered Mar 14, 2011 at 10:26
kennytm
526k111 gold badges1.1k silver badges1k bronze badges
Sign up to request clarification or add additional context in comments.
2 Comments
Larsi
Thanks, that was just the function I was looking for
Lightness Races in Orbit
@Larsi: fyi
valuepairs[valuepairs.length] = [fields[k], toSet]; works too, not that I'm particularly advocating it over this solution.var valuepairs = new Array(new Array('progress',progress)); //first line is hardcoded...
for (var i=0; i<fields.length; i++) {
valuepairs.push(new Array(fields[i],toSet));
}
answered Mar 14, 2011 at 10:30
Nir Levy
4,7503 gold badges37 silver badges48 bronze badges
lang-js