のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,401,154人
昨日:no data人
今日:
最近の注目
人気の最安値情報

元スレ+ JavaScript & jQuery 質問用スレッド vol.7 +

JavaScript覧 / PC版 /
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
651 = :

>>647
正規表現だけでできるよ
var str='aa12345678bb4321cc';
str.match(/(?<!\d)\d{1,4}(?!\d)/g); // ["4321"]

652 = :

>>651
VM3774:1 Uncaught SyntaxError: Invalid regular expression: /(?<!\d)\d{1,4}(?!\d)/: Invalid group
at <anonymous>:1:4

653 = :

それがChromeやFirefoxで最初から使えるようになるのは年明けから年度末ってとこだろうな

654 = :

formをreset()したとき、ページトップにスクロールせず現状維持したいです
位置取得して再設定以外で何か方法ないでしょうか?

655 :

普通はフォームをリセットしてもページトップにスクロールしません。

657 = :

>>634
<p class="post">あ</p>
<p class="post">い</p>
<p class="post">う</p>

じゃだめなん?brに悩む必要ない

658 = :

普通はそれだよな

659 = :

>>657
pは改行するためのものではなくて段落を
作るためのものなのだから<br>を入れるのとでは
意味が変わってしまう。

661 = :

>>659
あいうは省略した例ではないの?1行の文?







は変だが<p>いいんだよ</p>はOK

662 = :

>>661
OKかどうかは別の段落にしたいかどうかできまるわけで、
文字の長さがどうとか一行とか関係ない。

段落を作りたいかどうか

664 = :

>>662
そうそう、だから基本>>657でいい
それ以上は実際のものを見ないと何とも言えん

665 = :

> そうそう、だから基本>>657でいい

改行入れたいと言ってるのに段落に分けるのは
間違いだって言ってる。

日本語ちゃんと読める?

(段落をわけずに)改行を入れたい
・ 段落を分ける

意味がぜんぜん違ってる

666 = :

<p>でも<br>でも見た目上改行されるんだから
どっち使ってもいいでしょwww

みたいに思ってるやつまだいるんだな。
テーブルタグでレイアウト作るやつと一緒。

見た目はCSSでやるんだよ。<p>だからといって
必ずしも改行されるわけじゃない。

段落と改行は意味が違うと言ってるのに、
見た目が一緒なら変えてもいいと思ってる。

どうせどんなばあいでも改行は使わず<p>を
使うのが正解だって思い込んでるんだろうな

667 = :

あと後出しで聞かなきゃ何が正解かわからない
<p>が正しいかどうかもわからないって言い訳するなら、
<p>にするのが正しいって言わずに最初に聞けって話だ。

人の話を聞かないで勝手に、条件を変えた上に
俺のほうが正しい!だが実際のものを見ないと正しいか分からん!とか
迷惑でしか無いよ

668 = :

(段落をわけずに)と最初に条件ある?
たいていのブラウザ標準では段落と改行は見た目一緒ではなく間隔が違う。
それはCSSで変えられるとして、633が”一行で”をどう捉えてるかだ。
初心者は国語の段落をHTMLにそのまま当てはめてしまうケースが多い。
実物見ないとというのはもっとも。

669 = :

>>668
あるだろ

> 外部から要素を複数取ってきて、もともとある要素にwrapしつつ挿入
> さらに外部から取得した要素の下にbr要素を入れる
> っていう感じ

670 = :

要素の下にbr要素を入れるって書いてあるんだから
それをそのまま実装すれば良いんだよ。

質問者は本当はhrを入れたいのかもしれない。
そんなことわからないんだから。

そして次点のやり方が、なぜbrを入れたいのか?
pではだめなのかと質問することだな

それをしないで勝手にpに変えて、こっちが正しいと言い張るのがだめだってーの。
p使えば改行と見た目一緒だ。見た目が一緒だから
どのタグ使ってもいいんだってこれ初心者の考え方だから。
見た目はCSSで制御するもので、HTMLは文書構造をつくるというものを分かってない。

どこかで聞きかじったであろう、「brはだめなんだぜ。pをつかうんだぜ。」
って話をなにも理解せずに言ってるだけ

671 = :

>>666
>どうせどんなばあいでも改行は使わず<p>を
>使うのが正解だって思い込んでるんだろうな

brとpは使い分けてる
根拠のない罵りのようなことはやめてくれ

672 = :

> じゃだめなん?
> 基本

と書いてある(同一かは知らんが)。
なんか人物ごっちゃになってるのでは?

>>669
それは決定的理由にはならんだろうよ。

673 = :

<p>に変更した決定的理由は何だ?
ないだろ。

元の条件を勝手に変えるなって言ってるだけ。

それとも思い込みで話すつもりか
俺の世界の普通ではbrはpに変えるのが正しいんだって
頭悪いぞ。

674 = :

どう読んだらそうなるのか・・・すぐ上に書いてあるのに
元の条件も何も、元の人がもっと詳しく書かない限りこれ以上は無意味
もうその必要ないだろうから終了だよ

675 = :

だから最初に言っただろ
もっと詳しく書かない限り無意味だというのなら、
<p>が正解だと言うなってことだ。

<p>が正解だって言うことが無意味だって
自分で言って恥ずかしくないのか?

676 = :

ついでにいうと>>639>>634が望む答えは出てる。
だから質問者はもうとっくにいない。

答えが出てる問題に対して、
>>634で想定する結果と違うものを出して、
これが正しいとか人の話を聞かない態度も大概にしろと

677 = :

<p>が正解だとどこに書いてあるのか
なぜ先走って解釈するのか
なぜそんなにキレてるのか
なぜそんなにムキになってるのか

678 = :

>>664に書いてあるな

> そうそう、だから基本>>657でいい

意味を変えておきながら基本それで良いとか意味不明。
変更すべき決定的理由がない。

改行と段落は見た目が見てるから変えたとしか思えない。
見た目はCSSでやるという基本がわかってない証拠

679 = :

見た目はCSSはその通りだがなぜpのデフォの状態を無視するのか
なぜ671を無視するのか
なぜ勝手に決め付けてるのか
なぜ提案と確定を同一視しているのか

680 = :

>>678
基本>>657でいい(だからその方法もある)
提案であって正解だの断定ではないと読めるが
見た目で<br>かますのも少なくないからそう書いただけでしょ

681 = :

>>679
> 見た目はCSSはその通りだがなぜpのデフォの状態を無視するのか
見た目の話はしてないから。

pとbrは同じか違うかの話しかしてない。
答は違う。

例え見た目のデフォルトが同じでも違うものは違う。
むしろなんで見た目が一緒ならbrをpに置き換えていい
思ってるのかのほうが分からん。

なんでpとbrの意味を無視するのか?

>>680
> 基本>>657でいい(だからその方法もある)
だからなんでだよ?

brを入れたいと言ってるのに、違うものに変えたらダメだろ

682 = :

>>679
> 見た目はCSSはその通りだがなぜpのデフォの状態を無視するのか

pのデフォルトの見た目を気にしろという意見は
やっぱりbrとpの見た目だけをみて
「見た目が一緒だからということを理由」に
意味を変えたってことなんだろな

685 = :

>>684
何のデータを圧縮させないのかわからない

688 = :

>>687
ありがとう
一歩前に進めた気がするよ

690 = :

>>654もお願いします
セルフのreset()です
このような方法でなくもっと簡単にできるといいのですが
http://www.webdesignleaves.com/wp/jquery/1651/

691 = :

>>690
じゃあヒントだけ

formはそのまま使うが、submitイベントを捉えてキャンセルする
そしてJavaScriptで内容を送信する。
HTML5を使えばファイル送信もできるはずだ。
これでスクロールはしない。

昔は隠しiframeに対してPOSTするという方法があったがな。
ただしこの方法はブラウザのページ履歴に影響を及ぼす可能性がある
その制御がうまくできたかどうかはわすれた

692 = :

jQuery のバブリング、preventDefault() や stopPropagation() の使用例

http://www.tam-tam.co.jp/tipsnote/javascript/post5050.html

693 = :

繰り返し作業の中で、最大値や最小値を同時進行で更新していきたいのですが
どういうやり方がベストでしょうか
例えばこんなとき
var arr=[];
for(var i=0,len=100;i<len;i++){
arr.push(((!(Math.random()*2|0)?1:-1)*Math.random()*500)|0);//-499から+499の乱数
}
// arrの中の最大値、最小値は?

処理が簡単ならforを抜けたあとに
arrをMath.max,minすればいいのでしょうが。
これをforの中で最大最小値を更新していきたいです。
・forの中が複雑でarrも数が多い
・値は上げ続けも下げ続けもしないが、する時もある(乱数はあくまで例)
・最大、最小の目安は、最後まで処理してみないとわからない
こういうとき、値の初期値部分はどう処理すればいいのでしょうか
var arr=[]
var w=null;//最大値
for(){
//arr.push以下略
w=Math.max(w,arr[i]);
}
たった1回の初期値設定のためにif(w!==null){}なんてやるのでしょうか?

694 = :

用途は、データ収集とそのグラフ化
なのでよくよく考えると結局、グラフ描画でforするのでそのときに最大最小求めればいいか
という気がしてきました・・
データ収集だけ、という作業ならデータ収集中に最大最小を取得したい
というのはメリットかもしれませんが・・

695 = :

一応念の為、希望する結果は
w=Math.max(w,arr[i]);
の部分で、「wが変な値なら、無視してarr[i]を優先してくれたらいいのに」
という感じです
nullとかundefinedとかfalseとかだと0とみなされるようです
例えばmax(w,arr1[],arr2[],,,)と
いっぱいあった場合に皆はどういうエスケープをするのかなぁ、と
と思って、書いてる途中にひらめきました
w=Math.max(w|arr[i],arr[i]);
これはどうでしょうか
エラーとかないですかね

696 = :

連投すいません、arr[i]が丁度0になっちゃうとその後
arr[i]が優先されちゃうのでw部分は別のエスケープした方が良さそうですね
てかよく考えたらそれこそ>たった1回の初期値設定のために
でしたね、、

697 = :

>>693
> 繰り返し作業の中で、最大値や最小値を同時進行で更新していきたいのですが
> これをforの中で最大最小値を更新していきたいです。
それはやめた方がいい。本来別々にやれる処理を一緒にするとコードが複雑になるだけ。

forの中である処理している。そのforを別の用途に再利用する。
これを俺はforの使い回しと呼んでいるんだが、これやると
また別の処理を入れ込んでいって~、1つのforで複数のことをやって~
あとからメンテナンスする時にforの中のこの行は何のために必要な行かわからなくなる。

> arr.push(((!(Math.random()*2|0)?1:-1)*Math.random()*500)|0);//-499から+499の乱数

randomは複雑なんだから関数にすべき。コメントを書きたくなったら複雑だと思ったほうが良い。
というか変なコード過ぎて何やってるのか分からん。

randomの普通の書き方
function random(min, max) {
 return Math.floor( Math.random() * (max + 1 - min) ) + min
}

またlodashにはそのための関数がある。使っったほうが楽だが、使わないなら使わないで
同じ引数を取る関数を自作すれば良い

lodash(https://lodash.com/docs/4.17.4#random)を使った書き方
var random = _.partial(_.random, -499, +499, false) // _.random関数を元に-499から+499の乱数を返す新たな関数を作る
// ↑ は function random() { return _.random(-499, +499, false) } と等価
var arr = _.times(100, random);
var min = _.min(arr)
var max = _.max(arr)

あんたがやりたいのは、たったこれだけで表現できるコードなんだよ。
lodash使わなくてもいいが、最終的にこれだけで表現できるような作りにするべき

698 = :

>>695
> いっぱいあった場合に皆はどういうエスケープをするのかなぁ、と

「エスケープ」という言葉の使い方が間違ってる

699 = :

_.partialを使ってみたが、将来 _.randomに第四引数が増えたりしたらおかしくなるから
関数またはES6のアロー関数を使ったほうが良いかもな

var random = function() { return _.random(-499, +499) }
var random = () => _.random(-499, +499)

700 = :

ES6でいいのならこれだけだな

const arr = _.times(100, () => _.random(-499, +499));
const min = _.min(arr)
const max = _.max(arr)


←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について