日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何在JavaScript中等分?jǐn)?shù)組

Kulbhushan 在開發(fā)中,了解 JavaScript 和 Promise 基礎(chǔ),有助于提高我們的編碼技能,今天,我們一起來看看下面的 10 片段,相信看完這 10 個片段有助于我們對 Promise 的理解。

為淮南等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及淮南網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、淮南網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

在本教程中,我們來學(xué)習(xí)一下如何使用Array.splice()方法將數(shù)組等分,還會講一下,Array.splice() 和 Array.slice() 它們之間的不同之處。

1. 將數(shù)組分為兩個相等的部分

我們可以分兩步將數(shù)組分成兩半:

  1. 使用length/2和Math.ceil()方法找到數(shù)組的中間索引
  2. 使用中間索引和Array.splice()方法獲得數(shù)組等分的部分

Math.ceil() 函數(shù)返回大于或等于一個給定數(shù)字的最小整數(shù)。

 
 
 
 
  1. const list = [1, 2, 3, 4, 5, 6]; 
  2. const middleIndex = Math.ceil(list.length / 2); 
  3.  
  4. const firstHalf = list.splice(0, middleIndex);    
  5. const secondHalf = list.splice(-middleIndex); 
  6.  
  7. console.log(firstHalf);  // [1, 2, 3] 
  8. console.log(secondHalf); // [4, 5, 6] 
  9. console.log(list);       // [] 

Array.splice() 方法通過刪除,替換或添加元素來更改數(shù)組的內(nèi)容。而 Array.slice() 方法會先對數(shù)組一份拷貝,在操作。

  • list.splice(0, middleIndex) 從數(shù)組的0索引處刪除前3個元素,并將其返回。
  • splice(-middleIndex)從數(shù)組中刪除最后3個元素并返回它。

在這兩個操作結(jié)束時,由于我們已經(jīng)從數(shù)組中刪除了所有元素,所以原始數(shù)組是空的。

另請注意,在上述情況下,元素數(shù)為偶數(shù),如果元素數(shù)為奇數(shù),則前一半將有一個額外的元素。

 
 
 
 
  1. const list = [1, 2, 3, 4, 5]; 
  2. const middleIndex = Math.ceil(list.length / 2); 
  3.  
  4. list.splice(0, middleIndex); // returns [1, 2, 3] 
  5. list.splice(-middleIndex);   // returns [4, 5] 

2.Array.slice 和 Array.splice

有時我們并不希望改變原始數(shù)組,這個可以配合 Array.slice() 來解決這個問題:

 
 
 
 
  1. const list = [1, 2, 3, 4, 5, 6]; 
  2. const middleIndex = Math.ceil(list.length / 2); 
  3.  
  4. const firstHalf = list.slice().splice(0, middleIndex);    
  5. const secondHalf = list.slice().splice(-middleIndex); 
  6.  
  7. console.log(firstHalf);  // [1, 2, 3] 
  8. console.log(secondHalf); // [4, 5, 6] 
  9. console.log(list);       // [1, 2, 3, 4, 5, 6]; 

我們看到原始數(shù)組保持不變,因為在使用Array.slice()刪除元素之前,我們使用Array.slice()復(fù)制了原始數(shù)組。

3.將數(shù)組分成三等分

 
 
 
 
  1. const list = [1, 2, 3, 4, 5, 6, 7, 8, 9]; 
  2. const threePartIndex = Math.ceil(list.length / 3); 
  3.  
  4. const thirdPart = list.splice(-threePartIndex); 
  5. const secondPart = list.splice(-threePartIndex); 
  6. const firstPart = list;      
  7.  
  8. console.log(firstPart);  // [1, 2, 3] 
  9. console.log(secondPart); // [4, 5, 6] 
  10. console.log(thirdPart);  // [7, 8, 9] 

簡單解釋一下上面做了啥:

  1. 首先使用st.splice(-threePartIndex)提取了ThirdPart,它刪除了最后3個元素[7、8、9],此時list僅包含前6個元素[1、2、3、4、5、6] 。
  2. 接著,使用list.splice(-threePartIndex)提取了第二部分,它從剩余l(xiāng)ist = [1、2、3、4、5、6](即[4、5、6])中刪除了最后3個元素,list僅包含前三個元素[1、2、3],即firstPart。

4. Array.splice() 更多用法

現(xiàn)在,我們來看一看 Array.splice() 更多用法,這里因為我不想改變原數(shù)組,所以使用了 Array.slice(),如果智米們想改變原數(shù)組可以進(jìn)行刪除它。

 
 
 
 
  1. const list = [1, 2, 3, 4, 5, 6, 7, 8, 9]; 

獲取數(shù)組的第一個元素

 
 
 
 
  1. list.slice().splice(0, 1) // [1] 

獲取數(shù)組的前5個元素

 
 
 
 
  1. list.slice().splice(0, 5) // [1, 2, 3, 4, 5] 

獲取數(shù)組前5個元素之后的所有元素

 
 
 
 
  1. list.slice().splice(5) // 6, 7, 8, 9] 

獲取數(shù)組的最后一個元素

 
 
 
 
  1. list.slice().splice(-1)   // [9] 

獲取數(shù)組的最后三個元素

 
 
 
 
  1. list.slice().splice(-3)   // [7, 8, 9] 

作者:Ashish Lahoti 譯者:前端小智 來源:jamesknelson

原文:https://codingnconcepts.com/javascript/how-to-divide-array-in-equal-parts-in-javascript/

本文轉(zhuǎn)載自微信公眾號「大遷世界」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系大遷世界公眾號。


新聞標(biāo)題:如何在JavaScript中等分?jǐn)?shù)組
本文路徑:http://m.5511xx.com/article/djehdjj.html