心情極度不爽﹐散分﹐同時想知道答案

liuzxit 2002-07-01 10:00:17
9個月之前我對WEB完全不懂﹐絕對的為0﹐盲到不知htm是什么﹐在一個完全沒有人指導的情況下因為公司的要求﹐我從原來的PB改成學ASP了﹐也是這個情況下一個人把公司的內部網從無到有建立起來﹐為了工作和公司內每半年一次的技朮考試還要不停的自學﹐終于逐漸知道ASP,HTML,CSS,JavaScript,VBScript,COM,XML,.NET,在獨力支撐的情況下已經疲憊不堪的我還要追趕這個一日千里的技朮﹐我真的累死了﹐昨天的考試。我失敗了﹐原來我不知道的還那么多﹐本想一開始就把不懂的題目發貼問大家求答案﹐但我實在不想作弊﹐發了貼還是趁沒人回復時刪掉了。
第一次散分﹐沒想到不是為喜而散而是為悲而散

以下是考試種的一個大題﹐給有興趣的人做做﹐有答案希望能給我一份

(一) 如果要在JavaScript中使用一個字串表示的數據資料(以逗號分隔每一個欄位,以分號分隔每一筆記錄),通常要先將資料分解成一個二維數組,再以行,列號來存取資料.
Eg :給定字串sR=”張三,男,湖南;李四,男,廣東;王娟,女,江西”,分解成二維數組A之後,則A[0][0]為張三,A[1][0]為李四….也可以用A[1][1]=”女”來改變數組的值.
為了簡化操作,請利用JavaScript的對象功能,編寫一個與ADO.Recordset功能類似的元件.通過編寫Function將資料字串轉化為此對象後,可以如同操作ADO.Recordset去讀寫資料,然後又可以將改變後的資料重新組成一個字串,以便提交給ASP處理
要求: 1)實現方法 MoveNext MovePrevious MoveLast MoveFirst RecordCount AddNew Delete EOF
2)提供GetItem/SetItem兩個Function設定欄位的值
3)提供方法字串轉對象,對象轉字串的Function
eg: <Script Language=JavaScript>
var s=”張三,男,湖南;李四,男,廣東;王娟,女,江西”;
var myRs=new MyRecordset();
myRs.StringToRecordset(s);
while(!myRs.Eof())
{
var sValue=myRs.GetItem(0);
myRs.SetItem(0,sValue+”00”);
myRs.MoveNext();
}
var sNew=myRs.RecordsetToString();
alert(sNew);
</Script>
...全文
33 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
pokar 2002-07-03
  • 打赏
  • 举报
回复
gz
jicco 2002-07-03
  • 打赏
  • 举报
回复
up
liuzxit 2002-07-02
  • 打赏
  • 举报
回复
謝謝各位的鼓勵﹐我現在看完答案已經明白﹐只是當時因為書中講得很簡單﹐找不到例子﹐無法理解﹐不爽歸不爽﹐地球一樣轉﹐好啦﹐收拾一下心情﹐繼續提高

liuyxit(心随你动!)﹕當初一起來這里﹐一直比你稍領先一步﹐今天終于被你趕過了﹐恭喜你爬上第五座山﹐可以望星星了﹐不過我也只差几十分而已喔

hax(海曦)﹕還記得我嗎﹐我在這里提的第一個問題就是你給了我非常詳細的解說﹐雖然無解﹐但也令我學到很多﹐你說那時你也是第一次得分﹐我們真有緣啊以后還請多指教

回首一下﹐CSDN還真讓我學了不少
liuzhanwen 2002-07-02
  • 打赏
  • 举报
回复
up











up
hax 2002-07-02
  • 打赏
  • 举报
回复
这个不难的。你学习1天就可以掌握。作为初学javascript,我建议你可以看Windows Script 5.6带的文档中的JScript教程。虽然我认为那个没有Netscape的JavaScript 1.5 Guide写的好,不过是中文的。如果你不介意直接看英文资料,还是看Netscape的清楚一点。
liuyxit 2002-07-01
  • 打赏
  • 举报
回复
大哥:
其实一直以来,谢谢你给予的帮助!同时我也完全理解你的心情!
但相信当你再走过这一关,回头再看时,你已经不再在意你经受过的失败!
衷心祝愿:
兄弟,一路走好!
zlhoo 2002-07-01
  • 打赏
  • 举报
回复
同意
Muzhu 2002-07-01
  • 打赏
  • 举报
回复
只是数据结构中的链表。
Andrawu 2002-07-01
  • 打赏
  • 举报
回复
up....
whiteclude 2002-07-01
  • 打赏
  • 举报
回复
呵呵,一起努力,再多学习学习吧
skyover 2002-07-01
  • 打赏
  • 举报
回复
复杂。。我可还没有想到要用js来写这个功能。。也不会。。呵呵。
liuzxit 2002-07-01
  • 打赏
  • 举报
回复
謝謝樓上的代碼
對懂的人來說當然不難﹐但我做這份卷子前我還完全不知道怎樣自定義對象﹐怎樣定義方法屬性并調用。就象當你還不懂這個函數時execCommand你怎么知道怎樣怎樣做CSDN的文檔中心的那個編輯器呢?
saucer 2002-07-01
  • 打赏
  • 举报
回复
here is a sample implementation, you can try to do AddNew,Delete:

<Script Language=JavaScript>
function StringToRecordset(s)
{
var a = s.split(/;/);
this.recordCount = a.length;
if (this.recordCount > 0)
{
this.recordset = new Array(a.length);

for (var i=0; i < a.length; i++)
{
this.recordset[i] = a[i].split(/,/);
}

this.MoveFirst();
}
}

function RecordsetToString()
{
var s= "";
if (this.recordset)
{
for (var i=0; i < this.recordset.length; i++)
s += ";"+this.recordset[i].join(",");

if (s != "")
s = s.substring(1);
}

return s;
}

function GetItem(n)
{
if (!this.EOF())
return this.recordset[this.cursor][n];
else
return null;
}

function SetItem(n,v)
{
if (!this.EOF())
this.recordset[this.cursor][n] = v;
}


function MyRecordset()
{
this.cursor = -1;
this.recordCount = 0;
this.recordset = null;
this.RecordCount = function() {return this.recordCount;}
this.StringToRecordset = StringToRecordset;
this.RecordsetToString = RecordsetToString;
this.MovePrevious = function() { if (this.recordCount > 0 && this.cursor >0) this.cursor--;};
this.MoveNext = function () {if (this.recordCount > 0 && this.cursor < this.recordCount) this.cursor++; };
this.MoveFirst = function() { if (this.recordCount >0) this.cursor = 0;};
this.MoveLast = function() { if (this.recordCount > 0) this.cursor = this.recordCount - 1;};
this.BOF = function() {if (this.recordCount > 0) return this.cursor == -1; else return true;}
this.EOF = function() { if (this.recordCount > 0) return this.cursor == this.recordCount; else return true;};
this.GetItem = GetItem;
this.SetItem = SetItem;
}

var s="張三,男,湖南;李四,男,廣東;王娟,女,江西";
var myRs=new MyRecordset();
myRs.StringToRecordset(s);
while(!myRs.EOF())
{
var sValue=myRs.GetItem(0);
myRs.SetItem(0,sValue+"00");
myRs.MoveNext();
}
var sNew=myRs.RecordsetToString();
alert(sNew);
</Script>

blues-star 2002-07-01
  • 打赏
  • 举报
回复
不难啊。
cpplus 2002-07-01
  • 打赏
  • 举报
回复
这个东西要求你多长时间弄出来?
lanbor 2002-07-01
  • 打赏
  • 举报
回复
关注
cpplus 2002-07-01
  • 打赏
  • 举报
回复
这个东西要求你多上时间做出来?
lanbor 2002-07-01
  • 打赏
  • 举报
回复
哦。很有创意的想法。不过仔细想想也不是很难。js完全能作到。我是没时间编,相信有高手会写的。我也顺便搂一份落,哈。。。。关注!!
hjhing 2002-07-01
  • 打赏
  • 举报
回复
心如刀割
seabell 2002-07-01
  • 打赏
  • 举报
回复
相信未来
不懈努力
加载更多回复(9)

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧