亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScript 中的數組切片內的位移/翻轉

JavaScript 中的數組切片內的位移/翻轉

收到一只叮咚 2021-12-02 19:42:35
我在javascript中有數組var arrayHex = [0x50 , 0x4f , 0x53 , 0x54 , 0x20 , 0x2f , 0x20 , 0x48 , x54 , 0x54,.. 超過 50000 個元素]現在我想對上述數組的某些切片的元素進行一些位移/位翻轉。例如,slice(2,6)... slice(30, 50), ... slice (300,400), etc. 位移/翻轉后,將此數組(位移/翻轉)發送到我的函數或對其進行一些處理。是否可以 ?我怎么能在 JavaScript 中做到這一點?編輯: 實際上,我只想對原始數組進行一些操作。意味著如果我對 arrayHex 的切片(即從第 10-20、50-80、230-450 等的索引)進行操作(即按位),那么這些操作必須反映在原始數組中,而不是在臨時切片上。 . 下面是我的代碼var arrayHex = [0x65 , 0x34 , 0x30 , 0x35 , 0x65];console.log("before slicing: arrayHex  =  ", arrayHex);var sliced  = arrayHex.slice(1,3);for (i=0; i<sliced.length; i++){sliced[i]='0x65';}console.log("sliced : ",sliced);console.log("after slicing arrayHex is : ",arrayHex);輸出是:切片前:arrayHex = [ 101, 52, 48, 53, 101 ] 切片后: [101, 101 ] 切片后arrayHex 為: [ 101, 52, 48, 53, 101 ]
查看完整描述

1 回答

?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

對的,這是可能的。為此,您可以遍歷原始數組的每個返回切片的元素。使用您認為合適的雙向運算符來實現您的目標或對每個元素執行您想做的任何操作。您應該注意到任何按位運算符的操作數首先被轉換為有符號的 32 位整數。您可以使用此代碼段作為大綱:


start = 2;

end = 6;

sliced = arrayHex.slice(start, end);

for (i = 0; i < sliced.length(); i++)

{

     //Do stuff on sliced[i]

}

如果要將更改反映回原始數組,請使用


slice_index = 0;

for (i = start; i < end; i++)

{

     arrayHex[i] = slice[slice_index];

     slice_index++;

}

slice_index = 0;

如果您不想首先獲取切片而是直接操作數組,那么您可以這樣做


for (i = 0; i < arrayHex.length(); i++)

{

     //Do stuff on arrayHex[i]

}


查看完整回答
反對 回復 2021-12-02
  • 1 回答
  • 0 關注
  • 311 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號