๐Ÿ”™ Back to Top

X h day 2012

g.html ใฎ javascript ใƒใƒผใ‚ธใƒงใƒณใ€‚

javascriptใซใŠใ‘ใ‚‹string to int ใฏใ€Numberใ‚ณใƒณใ‚นใƒˆใƒฉใ‚ฏใ‚ฟ(?้–ขๆ•ฐ?)ใ‹ ๅผฑใ„ๅž‹ไป˜ใ‘ใงใ‚ใ‚‹ใ“ใจใ€ๆš—้ป™ใฎๅž‹ใ‚ญใƒฃใ‚นใƒˆใŒ้ ป็นใซ่กŒใ‚ใ‚Œใ‚‹ใ“ใจใ‚’ ๅˆฉ็”จใ—ใฆ+ๅ˜้ …ๆผ”็ฎ—ๅญใ‚’ไป˜ใ‘ใ‚‹ใฎใŒใ‚ˆใใ‚ใ‚‹ใจๆ€ใ†ใ€‚ๆœ€ๆ‚ชevalใ‚‚ใ‚ใ‚‹ใ€‚

10ไธ‡ๅ›ž "123" ใ‚’intใซๅค‰ๆ›ใ—ใŸใ‚‚ใฎใ‚’่ฆ็ด ใจใ™ใ‚‹้…ๅˆ—ใฎไฝœๆˆใ€‚ ๆ™ฎ้€šใชใ‚‰ใ€็งใฏใ“ใ†ใ™ใ‚‹ใ€‚

a = "123";

ret = [];
for (i=0;i<=100000;++i) ret[i] = +a;
/*
$ time node test.js

real    0m0.133s
user    0m0.084s
sys 0m0.016s
*/

ใŠใŠใ€Haskellใ‚ˆใ‚Šๆ—ฉใ„ใ€‚ๆ„ๅค–ใ€‚ ไฝ•ใ‹ใง่ชญใ‚“ใ ใ‘ใฉใ€ๅฎŸ้š›ใ“ใ†ใ„ใ†ๅž‹ใ‚ญใƒฃใ‚นใƒˆใฏๅ‡ฆ็†็ณปใฎไธญใง ใ‚ขใ‚ปใƒณใƒ–ใƒชใงๆ›ธใ‹ใ‚Œใฆๆœ€้ฉๅŒ–ใ•ใ‚Œใฆใ„ใ‚‹ใ‚‰ใ—ใ„ใ€‚

ๆฌกใซ่‡ชๅ‰ใฎใƒ‘ใƒผใ‚นใ‚’็”จๆ„ใ—ใŸใƒใƒผใ‚ธใƒงใƒณ

a = "123";

ret = [];
read_int = function(str) {
    var x = 0;
    for (var i=0,l=str.length;i<l;) x = x*10 + str.charCodeAt(i++) - 48;
    return x;
}
for (i=0;i<=100000;++i) ret[i] = read_int(a);
/*
$ time node test.js

real    0m0.127s
user    0m0.080s
sys 0m0.016s
*/

ใ‚ใšใ‹ใซ้€ŸใใชใฃใŸใ€‚ ใพใ‚ใ€ใ“ใฎใใ‚‰ใ„ใชใ‚‰ๅž‹ใ‚ญใƒฃใ‚นใƒˆใ•ใ›ใ‚‹ใญใ€‚