2

問題は次のとおりです。

ユーザーに関する情報を含む配列があります。各エントリは、配列内の空白フィールドで区切られています。

この例では、データ フィールドが ID、名、姓、電話、および電子メールであるとします。ただし、ユーザーが特定のフィールドの値を持っていない場合は、完全に省略されます。

これが配列の外観です

users[0] = 45049345
users[1] = Bob
users[2] = Smith 
users[3] = 789-456-1230
users[4] = bob@gmail.com
users[5] = 
users[6] = 63515987 
users[7] = Joe 
users[6] = Schmoe 
users[8] = joe@gmail.com
users[9] = 

この配列をループして各ユーザーのデータをデータベースに保存したいのですが、配列にパターンがないため、適切な情報をその場所に保存していることを確認する方法がわかりません。ジョーは電話番号を持っていないので、彼の電子メールは彼の電話番号として保存されます。これにより、後続のエントリが 1 インデックスずれることになります。

これをどうやって進めるかについてのアイデアはありますか?

PS私はnode.jsを使用しています

編集:これは実際のデータの例です

021870143-14        
lastName    
firstName           
U   
5/16/1988   
11/6/2008   
A   
11/6/2008 6:0:2 
NF  
245         
MAIN ST.    
101     
NEW YORK    
NY
10002                           
11/4/2008   
34      
SD1 
MUNC1J-036  
MAG1-1  
LEG77   
SENT34  
CONG5   
CNTY                
34-1                
10/27/2008 19:59:53                             
NF  
4

2 に答える 2

1

私はJavaScriptを知らないので、ここに疑似コードがあります。Javascriptには辞書/連想配列/ハッシュテーブルなどがあると思うという事実に基づいています.

new_user = {}
for i from 0 to arr.length
    if arr[i] = null/Omitted field/nil/None/whatever
        database.add_entry(new_user) // Add finished user table to database
        new_user = {} // Start new dictionary
    else
        field = arr[i]
        if field contains '@'
            new_user.email = field
        else if field contains '-'
            new_user.phone_number = field
        else if is_a_number(field)
            new_user.id = field
        else if new_user has first_name
            new_user.last_name = field
        else
            new_user.first_name = field
于 2013-10-08T05:30:05.837 に答える