第一種方法:建立一個數組。當用戶輸入時,檢查數組的最后一個數是否等于輸入,如果不等于,則推入。最后,輸出數組的長度就可以了。
第二種方法:不管用戶輸入的數字中是否有連續重復的數字,都推到一個數組中,最后去掉連續數字的長度。于是問題就變成了:實現一個功能,用戶輸入:[1,2,2,2,3,4,4,4,5,5],要求輸出為5(即[1,2,3,4,5]的長度)。
。
我是根據題目描述來理解上述方法的:"如果用戶連續猜測同一個數字,將只計算一次。只剔除重復的數字,也就是說,用戶輸入1、2、3、3三次,輸入3、1、2、3四次。但是看了其他回答,好像你的理解是不連續的,重復的?也就是說,輸入3、1、2、3算3次。在這種情況下,稍微改變一下上面的方法就好了。第一種方法:輸入時判斷輸入是否已經存在。如果用
可以使用JS中遍歷List和Map的方法。
1.方法1
$.每個(列表2,函數(索引,項目){
(索引#34:#34項)
})
//遍歷地圖
$.每個(map_demo,function(k:#34鍵#34,Valu:#34值)
})
$.map()遍歷列表/map//遍歷列表。
varnew_list$。map(list2,function(items,index){
退回項目#34!#34
})
(新_列表)
//遍歷地圖
$.map(map_demo,function(key,value){
consol:#34值)
})
總結:$的寫作。map()類似于$的。each(),但是在遍歷列表時,參數的順序與$的順序相反。each(),它可以接受一個返回值。對地圖的遍歷與$相同。每個()
導線列表/地圖//導線地圖
for(map_#34map_d:#34列表2[索引])
}
總結:對于列表,不能不用就不用,效率很低。
遍歷(函數(元素,索引,數組)(
(元素)//當前元素的值
(index)//當前下標
(數組)//數組本身
})
總結:幾乎和for循環一樣高效。