元スレ[JavaScript]プログラム作成します
JavaScript覧 / PC版 /みんなの評価 :
953 = :
>>951
とても勉強になりました。ありがとうございます。
Togetter - 「TinyTableV3 のソート実装における文字列比較の問題点」
http://togetter.com/li/65053
956 = :
>>955
thinkさんに予想外なところでレスもらってちょっと感動w(オミトロン使用者です。)
それだとDate.parse("11/2")とかが使えないので、
if (!isNaN(i) && !isNaN(n)) {
g = i;
h = n;
} else {
n = i;
}
if (n == i) {
i = Date.parse(f);
n = Date.parse(c);
if (!isNaN(i) && !isNaN(n)) {
g = i;
h = n;
}
}
とかどうでしょう。
957 = :
>>956
ああ、なるほど。
cp({v:'11/2'}, {v:'11/3'}); で 0 を返す(同値と判定する)挙動を回避する措置ですね。
賢いと思いますが、これは Date.parse に依存してしまう(Dateフォーマットでなければどんな値を返すかわからない)のがちょっと辛いかなあ。
例えば、cp({v:'11e'}, {v:'11f'}); だと 0 を返してきます。(Date.parse は NaN を返しますが、どんな値が返ってきても文句はいえませんので…)
思ったんですが、自然順ソートしてくれれば、"Last Access", Birthdate 以外は期待通りの結果になりそうですね。
日本で扱われる日時に限れば、"11/3", "2010/11/03" というように自然順ソートで対応できるものばかりです。
どこかに自然順アルゴリズムの仕様が載ってないかなあ…。
(Array#sort の引数なしの挙動は自然順ソートではないようなので、独自に比較する関数を定義する必要があるようですが。)
正式にDateフォーマットに対応するなら、"mm/dd/yyyy" とか "A dd, yyyy" の書式を正規表現で定義して、RegExp.prototype.test() で true を返す文字列を探し、Date.parse または Date.UTC() の返り値を比較するのが妥当だと思います。(後者が確実)
# Proxomitron 最近いじってません。でも、手を付けるなら今まで全く手を付けていないフィルタを作ってみたいですね。擬似的に配列を利用できる仕組みとか。
958 = :
とりあえず、こんな感じで。
gist: 660141 - natsort.js : 自然順アルゴリズムで配列をソート- GitHub
http://gist.github.com/660141
自然順アルゴリズムは負の数を考慮しないようなので、数値比較を行うならもう一工夫必要です。
959 = :
>>957
このソートってアルファベットも対応していたんですね。というか"a" < "b"とかが出来ることに(ry
cp({v:'11e'}, {v:'11f'}); に対応させるだけなら、
Date.parseしたあとも同様にn==i比較してtrueならg=f;h=c;
でいいんじゃないでしょうかね。
数字→日付→文字列比較になってます。
960 = :
誰?
961 = :
>>959
段々こんがらがってきたので、コードを整形して Ideone.com にまとめてみました。(f.v のプロパティは検証の都合上、外しました)
Ideone.com | 0S648
http://ideone.com/0S648
課題は下記2点。
・['rfc1.txt', 'rfc2086.txt', 'rfc822.txt']
・['12/01/1981', '02/14/1990', '03/29/1970', '12/02/1962']
前者は自然順アルゴリズム(>953) によって解決できますが、後者はやや面倒ですね。
962 = :
http://192.168.0.1/等のウィンドウズセキュリティでIDとPASSを聞いてくるようなサイトに最初から指定したID、PASSを渡して開くことは可能ですか?
ID = "root"
PASS = ""
を引数として開く、みたいな。
963 = :
JQueryのアコーディオンを使ってナビゲーションメニューを作り、
上から3番目のアコーディオンを開いて、そこからのジャンプ先のページには
1,2,3…とページネーションがあって、1番目のページから2番目のページ
3番目のページと飛んだ時にも上から3番目のアコーディオンが開いたままってのは出来ますか?
967 = :
すいません自分で作ろうとしたんですが行き詰まっています
どなたかお願いします
こういうものです
任意の数字XとYとZを入力し
まずXの255までの倍数にYを足して
その255個の数字それぞれをZで割り、その余りを255個表示する
というものです
よろしくお願いします
968 = :
145 名前:Name_Not_Found[] 投稿日:2010/11/12(金) 20:46:35 ID:gQA2QT2F
すいません
特殊な電卓を作りたいと思っています
どういうものかというと
任意の数字XとYを入力し
まずXの99までの倍数を99個表示し
その99個の数字それぞれをYで割り、その余りを表示する
というものなんですが可能でしょうか
969 = :
頓挫しました^^
970 = :
かんたんです。
次どうぞ!
973 = :
メインサイトに過去の更新履歴的なスペースを設けます。
メインサイトとは別に作ったブログがあります。
記事タイトルと日付だけをメインサイトの更新履歴スペースに表示するようなものは作れますか?
googlefeedapiでいいじゃんって言われればそれまでなんですが、javascriptとかphpのみでいけたら
いいなぁと思っています。
974 = :
javascript:
document.cookie="nicohistory=;path=/;domain=nicovideo.jp;";
ml='watch/'+Video.v;sl='api/getflv/'+(Video.v+'\x3f').replace(/nm.*/,"$&as3=1&")+'ts='+(new Date()-7999);
sb=function(ul){new Ajax.Request(ul,{method:'get'})};
me=function(ul,ue){new Ajax.Request(ul,{method:'get',onSuccess:function(h){sb(ue)}})};
me(ml,sl);
void(0);
このスクリプトを8秒ごとに30回実行させてその後45秒休むことを繰り返すスクリプトを作ってください
975 = :
迷惑だからやめろ
976 = :
工作はすんな
978 :
http://www.codingforums.com/archive/index.php/t-126189.html
このテーブルセルをマージするスクリプトを
もう少し短く簡潔に修正して欲しいです。
よろしくお願いします
980 = :
jQueryでulリストの子要素aにマウスオンすると
ulに「マウスオンしたa要素のクラス名+On」というクラス名が付くものを作りました
$('#ImgMapList a').hover(
function () {
var class = $(this).attr("class");
$(this).parents().eq(1).addClass( class + "On");
},
function () {
var class = $(this).attr("class");
$(this).parents().eq(1).removeClass( class + "On");
})
981 = :
これはulに背景画像を設定しマップリンクのようにして、
その後マウスオンしたa要素に応じて背景を変化させるためのものです。
不格好ではありますが、一応これで動いているので良しとします。
ただ、使いたいところが他にも幾つかあるので、できれば>>940のように
$(function(){
setImgMap($('対象の要素'), eqの値);
});
という感じでモジュール化というか、
複数をもっと簡単に設定できればなぁと思いまして…どなたかお願いします
類似してるかもしれないスレッド
- 1行javascriptプログラミング (431) - [43%] - 2022/8/23 15:30
- JavaScript コメントの謎 (122) - [38%] - 2017/12/31 9:32 ○
- JavaScript ライブラリ総合質問所 vol.4 (985) - [37%] - 2015/12/16 15:00
- JavaScript ライブラリ総合質問所 vol.5 (344) - [37%] - 2022/3/14 17:45
- JavaScript Tips コレクション (154) - [36%] - 2023/1/12 17:00
トップメニューへ / →のくす牧場書庫について