將乙個陣列進行翻轉

2021-08-20 19:51:51 字數 1419 閱讀 4315

題目:將陣列var  a = [1, 2, 3]變成陣列[4, 3, 2, 1]的正確方式?

a、a.reserse().unshift(4)   b、a.push(4).reserve()   c、a.push(4),  a.reserve()  d 、a.splice(3 , 1, 4).reserve()

根據下面的知識點的解題思路:

a選項,a.reverse()後返回值即陣列a變成[3,2,1],再使用unshift()方法在陣列開頭新增乙個4,a陣列就變成了[4,3,2,1]。注,unshift()返回新陣列的長度,此處為4。正確。

b選項,push()方法返回新陣列的長度,是乙個number型別,不是陣列,所以不能再用「.」操作符繼續執行reverse()方法。錯誤。

c選項,正確。

d選項,splice()語法:arrayobject.splice(index,howmany,item1,.....,itemx)。

引數:index:必需。整數,規定新增/刪除專案的位置,使用負數可從陣列結尾處規定位置。

howmany:必需。要刪除的專案數量。如果設定為 0,則不會刪除專案。

以下這幾個是不改變原陣列:

1、 concat()

連線兩個或多個陣列

不改變原陣列

返回被連線陣列的乙個副本

2、join()

把陣列中所有元素放入乙個字串

不改變原陣列

返回字串

3、 slice()

從已有的陣列中返回選定的元素

不改變原陣列

返回乙個新陣列

4、 tostring()

把陣列轉為字串

不改變原陣列

返回陣列的字串形式

以下這幾個是改變原陣列:

5、 pop()

刪除陣列最後乙個元素,如果陣列為空,則不改變陣列,返回undefined

改變原陣列

返回被刪除的元素

6、 push()

向陣列末尾新增乙個或多個元素

改變原陣列

返回新陣列的長度

7、 reverse()

顛倒陣列中元素的順序

改變原陣列

返回該陣列

8、 shift()

把陣列的第乙個元素刪除,若空陣列,不進行任何操作,返回undefined

改變原陣列

返回第乙個元素的值

9、 sort()

對陣列元素進行排序(ascii)

改變原陣列

返回該陣列

10、 splice()

從陣列中新增/刪除專案

改變原陣列

返回被刪除的元素

11、 unshift()

向陣列的開頭新增乙個或多個元素

改變原陣列

返回新陣列的長度

將乙個陣列追加到別乙個陣列

問題 將乙個陣列追加到別乙個陣列 方案 1 使用array merge 在使用這個合併陣列時如果使用數字鍵,那麼索引會重新編號.如果使用字串鍵,則會導致第二個陣列中的鍵 覆蓋第乙個陣列中的同名鍵 此時第乙個陣列中的值也就消失了 如果是兩種鍵則會表現出上述兩種特徵.r array 1 2 dd 3 4...

將乙個陣列進行亂序列印,並輸出

此題提供三種思路及對應 方法一 構建乙個新陣列,將舊陣列隨機的乙個數儲存進新陣列,判斷新陣列中有沒有該數,有則繼續,無則插入,但存在運氣,因為隨機抽取的可能已經存在於新陣列中了 方法二 構建乙個新陣列,將舊陣列隨機的乙個數儲存進新陣列,並將這個數從舊陣列中刪除,下次就不會再隨機抽到該數了 方法三 運...

將乙個數的二進位制位進行翻轉

在學習redis原始碼的時候,看到了這段 很少寫blog,不太會表達自己的觀點。static unsigned long rev unsigned long v return v 舉乙個例 所有的數都用二進位制表示 假設v 11001010,unsigned long為1個位元組 方便 s 4 ma...