2012-01-15 10 views
0

問題が発生しました JavaScript配列に日付が含まれています ex。 19.4.2003,28.11.1997,3.1,,29.6,7.11.2008(日付 - 月 - 年)。 ご覧のとおり、一部の日付が見当たりません(ちょうど,,)、一部は年なしです(例:29.6)。配列は、上記のように見えるはずです
19.4,28.11,3.1,,29.6,7.11 それから私は、要素を見つけるとjQuery.inArray("searchVar", myArr); コードとそのインデックスを取得する必要がありJS配列のデータを変更する方法

if (data.response) { //response from social network 
    var f_cnt = data.response.length; 
    for(var i=0;i<f_cnt;i++) { 
     holidaysArr.push(data.response[i].bdate); //pushing date in array 
     //modify in loop? or call function to modify later? 
    } 
    holidaysLoaded=true; // just flag 
}  

(OK)押し下回っている - >修正 - >要素を検索。 あなたの助けが必要です。

UPDATE
プロジェクトを作成しているとき、私はもっと私の配列で、一度その保存されたデータよりもソーシャルネットワークのAPIを呼び出す必要があります理解しています。それを確認してください:

if (data.response) { 
    friends_data = data.response.sort(sFirstName); //sorting nvm 
    f_cnt = data.response.length; //count of arrayfields 
    holidaysLoaded=true; //flag 
} 

だから、配列はuidfirst_namelast_namebdate気圧を持っています。 1時間前のbdateだけではありません。 質問:すべてfriends_data[i].bdatematchに変更するにはどうすればよいですか?空の誕生日はundefined atmです。私はそれがあなたの機能と一致するわけではない場合、私は、undefinedにチェックして

for(var i=0;i<f_cnt;i++){ 
    friends_data[i].bdate = cutFunc(friends_data[i].bdate); 
} 

とフォームcutFunc(param)ようなものが必要だと思いますか?

cutFuncはこのようななめらかでなければなりません2 UPDATE:これはちょうどdays.month

if (data.response) { //response from social network 
    var f_cnt = data.response.length; 
    for(var i=0;i<f_cnt;i++) { 
     holidaysArr.push(data.response[i].bdate); //pushing date in array 
     //modify in loop? or call function to modify later? 
    } 
      holidaysArr = (holidasArr.join(',')).match(/\d+\.\d+/g); 
    holidaysLoaded=true; // just flag 
} 

と休日の配列を取得します

function cutFunc(param) { 
if(param==undefined) return 
else return param.match(/\d+\.\d+/g); 
} 

はあなた:)

+0

あなたの質問何JSFiddle Link


EDITそれが正しい正規表現


ここでEDITで修正されての更新されたのか? –

+0

こんにちは、あなたが私のソリューションを使用している場合は 'holidaysArr.push(data.response [i] .bdate);' holidays''push(cutFunc(data.response [i] .bdate))に変更するだけです。 '。また、 'param == undefined'の場合はcutFuncから'; 'を返します。 – Skyrim

答えて

1

に感謝EDIT So正規表現が間違っていると怒らせてください。 JSFiddle Link

+0

ありがとう:) – 966p

+0

np ...私が持っていたjsfiddleリンクは、最初にサンプルの.yearデータが入っていませんでしたが、新しいものがあります(両方のリンクが新しいものを指し示しています) – Skyrim

+0

@ 966p - またあなたがチャンスを得るときに解決したものとしてマークしてください:) – Skyrim

関連する問題