algorithm组织数组
这是问题:
我有一个有关用户信息的数组。 每个条目由数组中的空白字段分隔。
对于这个例子,假设数据字段是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] =
我想循环这个数组,并将每个用户的数据存储在一个数据库中,但是我不知道如何validation我正在存储正确的信息,因为数组中没有模式。 由于Joe没有电话号码,他的电子邮件将被存储为他的电话号码。 这将导致以后的进入被1个索引closures。
任何想法如何去做呢?
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
这里是伪代码,因为我不知道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
使用标记化
例:
users[0] = "45049345,Bob,Smith,789-456-1230,bob@gmail.com"; users[1] = "63515987,Joe,Schmoe,-,joe@gmail.com";
处理:
for (user in users) { for (detail in user) { document.write (detail + "<br>"); } }