台灣最大程式設計社群網站
線上人數
711
 
會員總數:244676
討論主題:188773
歡迎您免費加入會員
討論區列表 >> Java Script/ Node.js >> js傳值進入陣列問題!
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
js傳值進入陣列問題!
價值 : 200 QP  點閱數:211 回應數:10

樓主

jonahmk2
門外漢
0 2
42 8
發送站內信

請問各位大大,題目是: 連續輸入成績資料,輸入 -1 表示結束輸入。按輸入成績由高至低輸出。
目前只能將陣列寫死,並能夠排序後列出陣列text2,請問如何把text1輸入的值放入陣列裡。
感謝大大們!
附上程式碼

>








搜尋相關Tags的文章: [ js和html ] ,
本篇文章發表於2019-06-02 23:38
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

缺氧的羊:窒息
捐贈 VP 給 缺氧的羊:窒息 檢舉此回應
google:【javascript pop shift】

參考...
https://ithelp.ithome.com.tw/articles/10205221?sc=iThelpR

=================
在你的add, 把你的值, push或pop到陣列中, 最後再排序, 就完成了
本篇文章回覆於2019-06-03 09:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

jonahmk2
檢舉此回應
大大謝謝已解決~昨天有發現pop用法~感恩 方便在請問一題嗎?
題目是:連續輸入國文及英文二科成績資料,輸入 1 表示結束輸入。按兩科成績總分排序,同分以國文成績排序,若國文也同分,則以英文排序,輸出平均成績(由高至低)。 (二維陣列)
目前是不知道如何加總二維陣列裡的值,js跟java差好多喔,最近才剛進js,請各位大老拔刀相助 感謝~

本篇文章回覆於2019-06-03 09:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
google : 【javascript sort two way array】
有很多關於自訂排序函數的說明...


javascript, array的sort可以自訂排序方式,

例如:



===============================
我稍微調整了一下你的內容, 你再參考看看...


本篇文章回覆於2019-06-03 11:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

jonahmk2
檢舉此回應
謝謝大大幫忙感激不盡 !不過目前的問題是sumch跟sumen沒辦法做成績總分的'加法' ,目前console.log(sumn/ch)都是顯示陣列的型態 ,並不是一個整數值的型態~。
再次麻煩大大了!
本篇文章回覆於2019-06-03 11:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
修正一下(連同排序函數)

首先, 輸入資料時採用1個1個數字來輸入,
第1次輸入100, 100
第2次輸入101, 99
第3次輸入99, 101
第4次輸入50, 151
第5次輸入50, 150


本篇文章回覆於2019-06-03 11:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
javascript在擷取網頁文字時, 抓到的都會是文字(跟java一樣)

你得自行轉換成數字型態

偷懶的寫法是 * 1
標準的寫法請google【javascript string to int】
本篇文章回覆於2019-06-03 11:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

jonahmk2
檢舉此回應
感謝大大!比如我換成在國文成績裡面一次輸入多筆成績 ,如:50,70,90這樣,接著要做50+70+90的加成 ,是不是就沒辦法了呢?因為我看text類型貌似只會把輸入值認成"單一值",我輸入10,20,30 他真的只認成"10,20,30" 有辦法拆開來做相加嗎?還是需要換資料型態?
本篇文章回覆於2019-06-03 11:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
你在國文輸入50,70,90

就是用split分成3個數字, 再各別加起來, 當成1個數,

xxx = x1.split(',');

for(i=0; i<xxx.length;i++) ........
本篇文章回覆於2019-06-03 13:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

jonahmk2
檢舉此回應
謝謝大大回覆
寫了一個簡單的來測試
大大這個意思嗎?
可是sum out put出來是0 ,請問語法哪裡錯?

本篇文章回覆於2019-06-03 14:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
var x1 = "8,9,10";
...
score = x1.split(',');
...
...
sum += (score[i] * 1);
...
...
...
console.log(sum);
本篇文章回覆於2019-06-03 20:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.