Array mit Schleife füllen lassen.
kyros
- javascript
Ich möchte gern in ein Array eine Zahlenreihe durch eine Schleife füllen lassen. Geht das?
``
var chars = [];
for (i = 100; i >= 65; i--) {
?}
Ich möchte gern in ein Array eine Zahlenreihe durch eine Schleife füllen lassen. Geht das?
``
var chars = [];
for (i = 100; i >= 65; i--) {
?}
Klar geht das. Nur muss statt dem "?" bspw. "chars.push(String.fromCharCode(i));" stehen.
Gruß, LX
Hallo,
<script>
[code lang=javascript]
myArr = new Array();
for(i=0;i<2;i++) {
myArr.push(i);
}
alert(myArr)
</script>
[/code]
Gruß
jobo
Hallo,
Ich möchte gern in ein Array eine Zahlenreihe durch eine Schleife füllen lassen. Geht das?
ja, wie du anhand der beiden schon gegebenen Antworten siehst.
``
var chars = [];
for (i = 100; i >= 65; i--) {
?}
Aber wieso schreibst du deinen Javascript-Code hinter den [code]-Block, anstatt zwischen die Tags, wie es eigentlich üblich ist?
Ciao,
Martin
Hallo,
Aber wieso schreibst du deinen Javascript-Code hinter den [code]-Block, anstatt zwischen die Tags, wie es eigentlich üblich ist?
Wer die Vorschaufunktion nutzt, weiß vorher, wie es nachher aussieht.
Gruß
jobo
gruss kyros,
Ich möchte gern in ein Array
eine Zahlenreihe durch eine
Schleife füllen lassen.
Geht das?
die anderen antwortenden ergaenzend, moechte
ich ein von »Smalltalk«s kontrollstrukturen
inspiriertes beispiel bringen.
Smalltalks
aNumber to: aNumber do: [ :i | anOperation ].
liesse sich in JavaScript z.b. als
[link:https://github.com/petsel/javascript-api-extensions/blob/master/core/smalltalk-inspired-control-structures/Number.to.each.js@title=[Number\].to([Number\]).each([Function\]);]
implementieren.
die von Dir angefragte loesung saehe dann
so aus:
/*
beispiel auf [link:http://jconsole.com/@title=jconsole.com] oder
auf die JavaScript-konsole des
browsers loslassen.
*/
(function(){var e=this,j=e.Number,k=j.prototype,l=e.String.prototype,m=function(g){return function(b,d,a,c){if(typeof a=="function"){c=c||(typeof c=="undefined"||typeof c=="object"?null:c);var h=-1,f,i;if(b<=d){f=b-1;for(i=d-f;++h<i;)a.call(c,h,i,a,++f,b,d)}else{f=b+1;for(i=g(d-f);++h<i;)a.call(c,h,i,a,--f,b,d)}}}}(e.Math.abs),n=function(g,b,d){return function(a){a=g(a);return a=b(a)?d(a):-1}}(j,e.isFinite,e.Math.floor),o=function(g,b,d){return function(a,c){initialValue=d.call(a).valueOf();a=b(a);c=b(c);this.valueOf=function(){return initialValue};this.toString=function(){return""+initialValue};this.each=function(h,f){g(a,c,h,f);return initialValue}}}(m,n,e.Object.prototype.valueOf);k.to=l.to=function(g){return function(b){return new g(this,b)}}(o);o=n=m=l=k=j=e=null;delete o;delete n;delete m;delete l;delete k;delete j;delete e;delete arguments.callee}).call(null);
var chars = [];
(100).to(65).each(function (idx, len, fct, count, from, to) {
chars[idx] = count;
//chars.push(count);
});
chars;
so long - peterS. - pseliger@gmx.net
Andere Variante für die absteigende Reihefolge:
var i = 100, nums = [];
while(i > 64) nums.push(i--);
Es geht auch ohne .push
:
var i = 100, nums = [];
while(i > 64) nums[100-i] = i--;
bzw. in aufsteigender Reihenfolge:
var i = 100, nums = [];
while(i > 64) nums[i-65] = i--;
Aufsteigend, wenn die ersten Elemente leer bleiben sollen:
var i = 65, nums = [];
while( i <= 100 ) nums[i] = i++;
u.v.m.
Gruß, Don P