元スレ+ JavaScript の質問用スレッド vol.131 +
JavaScript覧 / PC版 /みんなの評価 :
401 = :
var resAry = [];
function replacer(match, p1) { resAry.push(p1); };
var oldStr = '<tag>hoge</tag><tag>poge</tag><tag>fuge</tag>';
var re = new RegExp('\<tag\>(.*?)\<\/tag\>', 'g');
// 第2引数は、コールバック関数
oldStr.replace(re, replacer);
console.log(resAry); // ["hoge", "poge", "fuge"]
String.prototype.replace()
http://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/replace
402 = :
jsで初めてプロトタイプベースに触れたけど、最初クラスベースとの違いに混乱して悪態ついたりしたけど今じゃクラスベースより好きだわ。
js以外クラスベースが主流なのは大規模設計手法が確立されてるというエンタープライズ用途のためってことかな?
それにしてもプロトタイプベースのメジャー言語なさすぎじゃ…
403 = :
あ、お題はこれでいいんじゃないか?
var s = '<tag>hoge</tag><tag>poge</tag><tag>fuge</tag>';
var r = s.split(/<\/?tag>/g).filter(item => item !== '');
console.log(r); // ["hoge", "poge", "fuge"]
404 = :
すまん空文字列はfalsyだから比較要らんわ訂正
var s = '<tag>hoge</tag><tag>poge</tag><tag>fuge</tag>';
var r = s.split(/<\/?tag>/g).filter(item => item);
console.log(r); // ["hoge", "poge", "fuge"]
405 = :
グローバルスイッチも要らんかった…
これからゲームしようと思ってたけどもう寝とくわ…
var s = '<tag>hoge</tag><tag>poge</tag><tag>fuge</tag>';
var r = s.split(/<\/?tag>/).filter(item => item);
console.log(r); // ["hoge", "poge", "fuge"]
406 = :
クラスベース言語が多いのは皆C++に影響を受けているから
多くの言語は別に人間工学的や信念として選んでいるのではなく揃えるのが無難だからそうしているだけ
C++がクラスベースなのはCの構造体からの自然な発想
CにOOPを組み込むに当たって当然プロトタイプベース的な方向にはなり得ない
JSがプロトタイプベースなのはクラスベースのインタプリタエンジンは実装も大変で
生半可なものではシンプルなプロトタイプベースに比べて性能を出すのが難しいという事実があるから
また、スクリプト言語としてはクラスに縛られるというのは不便となることも多い
クラスかプロトタイプかと言うよりはクラスベースを選んだか、選ばなかったかという違い
407 = :
よっしゃジャバスクリプトの勉強始めるで!
お前らよろしく!!!!!!!!!!!
408 = :
プロトタイプベースは型システムとの相性が良くない, 気がする
410 = :
独学で参考書をペン片手に読んでる。今2冊目。
読み終えたところまでのコード解読はいける。
まだまだ何もできないけど
まずは基礎知識の積み重ねが大事だなと深く感じてる
412 = :
いいえ、自分にあったやり方を見つけているのでこの順番が自分にとって最善。
413 = :
なんで何もできない段階でそれが最善だと分かるのか謎だなぁ。
>>411もいいアドバイスだと思うんだが。
もちろん本でしっかり知識積み重ねるのも大事だとも思うよ。
しかしそもそもどういう意図で>>410書き込んだんだ?
エライエライ頑張れして欲しかったのかな?
414 = :
>>411はごく普通な方法だな。誰でもいえる事。
415 = :
jQuery で作った
var oldStr = '<div>hoge</div><div>poge</div><div>fuge</div>';
$('body').append(oldStr);
var resAry = [];
$( 'div' ).each( function(){ resAry.push( $(this).text() ); } )
console.log( resAry ); // ["hoge", "poge", "fuge"]
416 :
やり方なんて自分が一番吸収しやすい方法をみつければいいんだよ
こればかりは人によって違うもの。
417 = :
まだまだ何もできないのにどうしてそれが最善なの?
その人の最善の方法見つけるには他の方法も試さなきゃダメでは?
合理化とか埋没費用の誤謬とかで既に時間かけた方法に固執してるだけでは?
418 = :
jQueryありなの?ならこうするわ。
var s = '<tag>hoge</tag><tag>poge</tag><tag>fuge</tag>';
var r = $(s).get().map(item => item.innerHTML);
console.log(r); // ["hoge", "poge", "fuge"]
rのとこは
var r = $(s).map(function() {return this.innerHTML}).get();
でもいいけど。
上のmapはjavascriptネイティブのmapでこっちはjQueryのmapね念のため。
419 = :
var r = $(s).get().map(item => item.innerHTML);
var r = $(s).map(function() {return this.innerHTML}).get();
var r = $.map($(s), item => item.innerHTML);
jQuery.mapを使ったほうが僅かに短いよ
420 = :
ほんまや!
速度はどんなもんかperformance.now()で測ってみたけど長さ10のランダム文字列をtagでくくったものを1000個連結したもので確認した限り3つとも5ms前後で目立った差なかったわ。
もっと大きくなると差もあるかも知れないけど実用上はどれも問題ないね。
421 = :
また俺様の世界を語ってるのw
422 = :
>>421
おまえも語って良いんやで?
423 = 416 :
>>417
試した上で書いてるのでは。
424 = :
その人の最適な方法とかいう魔法みたいなものはない
人間の脳はニューラルネットと同じなんだから
Web技術の情報、特に本の内容は糞な場合が多いという事実がある以上
沢山の検索と試行錯誤をして知識を積み重ねていって形にする以外はない
ブロックを積み上げるように体系的に学ぶのは無理
薄い絵の具を塗り重ねて絵を浮かび上がらせる感じしか無い
425 = :
>>424
お前Changelogに○○を最適化しましてって
書いてあったら、それは最適な方法じゃないって
いちいちツッコむのか?
427 :
他者を認められない受け入れられないというのも
自分の、個人の考え方やり方なんだよね
428 :
【ほら吹きマネク】マイトLーヤ「太陽凝視は危険」
http://matsuri.5ch.net/test/read.cgi/esp/1517129538/l50
429 = :
>>427
初心者と今活躍してる業界人とじゃけして平等ではないからな
色んな人に教えて自身でも色々失敗してきた経験を元に
無駄をしないようアドバイスしてるのであってそういうのは素直に聞くべき
432 :
ありがとうございます。
このac_tracerというのは何でしょう?
433 = :
さあ?
436 = :
>>432
昔昔あるところに太郎という人が居ました
この太郎というのは何でしょう?
437 = :
>>432
銭湯に行ったらオッサンが湯につかっていました。このオッサンは何でしょう?
438 = :
あるところにおじいさんとおばあさんがいました。
さて私は誰でしょう?
439 = :
>>432
関数です。
ただし、ac_tracerという名前の関数はJavascriptに元々用意されているものでも、web開発者が利用するDOM APIのものでもないため、ユーザー定義関数、つまり誰かが何かの目的のために作った関数です。
つまり、作った人に聞くか、ac_tracerの定義部分を含むコードを読まなければ、この関数が何なのかエスパーを除き誰にも分かりません。
440 = :
長いキッスの途中で
442 = :
首狩り族を倒した
443 = :
>>436
> この太郎というのは何でしょう?
人の名前では?
444 = :
>>443
そうだねイベントハンドラの設定方法のひとつだね
445 = :
>>438
> あるところにおじいさんとおばあさんがいました。
> さて私は誰でしょう?
そんなことよりよ、桃太郎の
おじいさんとおばあさん、子供がいないらしいぜ?
ってことは、おじいさんとおばあさんじゃないよな?
子供ができたら、やっとおとうさんとおかあさんになるはずだ
孫も子供もいないのにおじいさんとおばあさんというのはおかしすぎる
っていうか、子供いないのに孫を養子に取ることってできるのかよ?
孫悟空の孫じゃないぞ。子供の子供という意味の孫だ
446 = :
歳的な意味での爺婆だし
子供と言っても当然手続きもして無かろうし家系図にも組み込まれてないだろうし
桃太郎から見たらお父さんお母さんでも
全く関係ない第三者が伝聞として話したり聞く際にはふさわしくないと思う
447 = :
>>445
でもお前甥も姪もいないのにおじさんじゃん。
448 = :
>>445
【お祖父さん】 祖父(そふ)の敬称。
【お爺さん】 男の老人の敬称、また親しんで言う語。
449 = :
localStorageやsessionStorageなどwebStorageには文字列値しか保存できないとMDNで読んだ
でも[ 3, 6, 1, 23 ]や[ 'apple', 'orange', 'kiwi' ]など単純な配列は
特に変換することなしに、そのままsetItem()/getItem()できているようにみえる
値を取り出してすぐ直接push()やslice()などで操作できるしindexOf()もできてる
これはどういう理屈でこういう挙動になるんでしょうか?ブラウザが勝手にやってくれてる?配列関数が優秀?
試したのはMacのSafariとWindowsのFirefoxでsessionStorage利用
450 = :
ごめん完全に気のせいだった
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.131 + (1000) - [100%] - 2017/1/25 8:01
- + JavaScript の質問用スレッド vol.141 + (881) - [97%] - 2021/4/19 9:00
- + JavaScript の質問用スレッド vol.135 + (1002) - [97%] - 2018/11/23 10:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [97%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [97%] - 2022/11/29 16:30
- + JavaScript の質問用スレッド vol.130 + (974) - [97%] - 2016/10/26 14:18
- + JavaScript の質問用スレッド vol.111 + (1001) - [97%] - 2013/11/4 6:00
- + JavaScript の質問用スレッド vol.132 + (1001) - [97%] - 2018/4/19 11:00
- + JavaScript の質問用スレッド vol.133 + (1001) - [97%] - 2018/6/8 10:45
- + JavaScript の質問用スレッド vol.134 + (1001) - [97%] - 2018/8/3 23:15
- + JavaScript の質問用スレッド vol.130 + (1001) - [97%] - 2017/11/25 20:45
- + JavaScript の質問用スレッド vol.136 + (1001) - [97%] - 2019/1/8 11:30
- + JavaScript の質問用スレッド vol.138 + (1004) - [97%] - 2019/4/20 23:45
- + JavaScript の質問用スレッド vol.139 + (1001) - [97%] - 2019/5/27 15:15
- + JavaScript の質問用スレッド vol.101 + (1001) - [97%] - 2012/7/16 14:15
- + JavaScript の質問用スレッド vol.141 + (1001) - [97%] - 2019/9/22 23:15
- + JavaScript の質問用スレッド vol.137 + (1003) - [97%] - 2019/3/26 11:46
トップメニューへ / →のくす牧場書庫について