最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript數(shù)組原型方法分類詳解與示例

 更新時(shí)間:2026年01月29日 10:21:37   作者:Fondly345  
JavaScript數(shù)組的方法非常豐富,主要分為數(shù)組原型方法和從Object對象繼承來的方法,這篇文章主要介紹了JavaScript數(shù)組原型方法分類的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

一、返回新數(shù)組的方法(不修改原數(shù)組)

1. map()

  • 功能 :對數(shù)組中每個(gè)元素執(zhí)行函數(shù),返回結(jié)果組成的新數(shù)組

  • 示例 :

    const arr = [1, 2, 3];
     const newArr = arr.map(x => x * 
     2); // [2, 4, 6]
     console.log(arr); // [1, 2, 3] 
     (原數(shù)組不變)

2. filter()

  • 功能 :根據(jù)條件篩選元素,返回符合條件的元素組成的新數(shù)組

  • 示例 :

    const arr = [1, 2, 3, 4];
     const newArr = arr.filter(x => x 
     > 2); // [3, 4]
     console.log(arr); // [1, 2, 3, 
     4] (原數(shù)組不變)

3. concat()

  • 功能 :連接兩個(gè)或多個(gè)數(shù)組,返回新數(shù)組

  • 示例 :

    const arr1 = [1, 2];
     const arr2 = [3, 4];
     const newArr = arr1.concat
     (arr2); // [1, 2, 3, 4]
     console.log(arr1); // [1, 2] (原
     數(shù)組不變)

4. slice()

  • 功能 :截取數(shù)組的一部分,返回新數(shù)組

  • 示例 :

    const arr = [1, 2, 3, 4];
     const newArr = arr.slice(1, 
     3); // [2, 3]
     console.log(arr); // [1, 2, 3, 
     4] (原數(shù)組不變)

5. reduce()(可返回新數(shù)組)

  • 功能 :對數(shù)組元素執(zhí)行累積操作,可返回任意類型值(包括新數(shù)組)

  • 示例 :

    const arr = [1, 2, 3];
     const newArr = arr.reduce((acc, 
     curr) => [...acc, curr * 2], 
     []); // [2, 4, 6]
     console.log(arr); // [1, 2, 3] 
     (原數(shù)組不變)

6. flat([depth])

  • 功能 :將嵌套數(shù)組扁平化,返回新數(shù)組

  • depth(可選):指定扁平化深度,默認(rèn)值為1,值為Infinity時(shí)完全扁平化

  • 示例 :

    const arr = [1, [2, 3], [4, 
     [5]]];
     const newArr = arr.flat(2); // 
     [1, 2, 3, 4, 5]
     console.log(arr); // [1, [2, 3], 
     [4, [5]]] (原數(shù)組不變)

7. flatMap()

  • 功能 :先執(zhí)行 map,再執(zhí)行 flat(1),返回新數(shù)組

  • 示例 :

    const arr = [1, 2, 3];
     const newArr = arr.flatMap(x => 
     [x, x * 2]); // [1, 2, 2, 4, 3, 
     6]
     console.log(arr); // [1, 2, 3] 
     (原數(shù)組不變)

8. toLocaleString() / toString()

  • 功能 :將數(shù)組轉(zhuǎn)換為字符串,返回字符串(不是數(shù)組,但不修改原數(shù)組)

  • 示例 :

    const arr = [1, 2, 3];
     const str = arr.toString(); // 
     "1,2,3"
     console.log(arr); // [1, 2, 3] 
     (原數(shù)組不變)

二、在原數(shù)組上操作的方法(修改原數(shù)組)

1. push()

  • 功能 :在數(shù)組末尾添加元素,返回新長度

  • 示例 :

    const arr = [1, 2, 3];
     const length = arr.push(4); // 4
     console.log(arr); // [1, 2, 3, 
     4] (原數(shù)組已修改)

2. pop()

  • 功能 :移除數(shù)組末尾元素,返回被移除的元素

  • 示例 :

    const arr = [1, 2, 3];
     const last = arr.pop(); // 3
     console.log(arr); // [1, 2] (原數(shù)
     組已修改)

3. shift()

  • 功能 :移除數(shù)組首個(gè)元素,返回被移除的元素

  • 示例 :

    const arr = [1, 2, 3];
     const first = arr.shift(); // 1
     console.log(arr); // [2, 3] (原數(shù)
     組已修改)

4. unshift()

  • 功能 :在數(shù)組開頭添加元素,返回新長度

  • 示例 :

    const arr = [1, 2, 3];
     const length = arr.unshift
     (0); // 4
     console.log(arr); // [0, 1, 2, 
     3] (原數(shù)組已修改)

5. sort()

  • 功能 :對數(shù)組元素排序,返回排序后的數(shù)組(原數(shù)組已修改)

  • 示例 :

    const arr = [3, 1, 2];
     arr.sort(); // [1, 2, 3]
     console.log(arr); // [1, 2, 3] 
     (原數(shù)組已修改)

6. reverse()

  • 功能 :反轉(zhuǎn)數(shù)組元素順序,返回反轉(zhuǎn)后的數(shù)組(原數(shù)組已修改)

  • 示例 :

    const arr = [1, 2, 3];
     arr.reverse(); // [3, 2, 1]
     console.log(arr); // [3, 2, 1] 
     (原數(shù)組已修改)

7. splice()

  • 功能 :添加/刪除/替換數(shù)組元素,返回被刪除的元素組成的數(shù)組

  • 示例 :

    const arr = [1, 2, 3, 4];
     const removed = arr.splice(1, 2, 
     5); // [2, 3]
     console.log(arr); // [1, 5, 4] 
     (原數(shù)組已修改)

8. fill()

  • 功能 :用指定值填充數(shù)組,返回填充后的數(shù)組(原數(shù)組已修改)

  • 示例 :

    const arr = [1, 2, 3];
     arr.fill(0); // [0, 0, 0]
     console.log(arr); // [0, 0, 0] 
     (原數(shù)組已修改)

三、其他方法(不修改原數(shù)組)

1. forEach()

  • 功能 :對數(shù)組中每個(gè)元素執(zhí)行函數(shù),無返回值

  • 示例 :

    const arr = [1, 2, 3];
     arr.forEach(x => console.log
     (x)); // 輸出 1, 2, 3
     console.log(arr); // [1, 2, 3] 
     (原數(shù)組不變)

2. some()

  • 功能 :檢查是否至少有一個(gè)元素符合條件,返回布爾值

  • 示例 :

    const arr = [1, 2, 3];
     const hasEven = arr.some(x => x 
     % 2 === 0); // true
     console.log(arr); // [1, 2, 3] 
     (原數(shù)組不變)

3. every()

  • 功能 :檢查是否所有元素都符合條件,返回布爾值

  • 示例 :

    const arr = [1, 2, 3];
     const allPositive = arr.every(x 
     => x > 0); // true
     console.log(arr); // [1, 2, 3] 
     (原數(shù)組不變)

4. find()

  • 功能 :查找第一個(gè)符合條件的元素,返回該元素

  • 示例 :

    const arr = [1, 2, 3];
     const found = arr.find(x => x > 
     1); // 2
     console.log(arr); // [1, 2, 3] 
     (原數(shù)組不變)

5. findIndex()

  • 功能 :查找第一個(gè)符合條件的元素索引,返回索引值

  • 示例 :

    const arr = [1, 2, 3];
     const index = arr.findIndex(x => 
     x > 1); // 1
     console.log(arr); // [1, 2, 3] 
     (原數(shù)組不變)

6. includes()

  • 功能 :檢查數(shù)組是否包含指定元素,返回布爾值

  • 示例 :

    const arr = [1, 2, 3];
     const hasTwo = arr.includes
     (2); // true
     console.log(arr); // [1, 2, 3] 
     (原數(shù)組不變)

7. indexOf() / lastIndexOf()

  • 功能 :查找元素在數(shù)組中的索引,返回索引值

  • 示例 :

    const arr = [1, 2, 3, 2];
     const index = arr.indexOf(2); // 
     1
     console.log(arr); // [1, 2, 3, 
     2] (原數(shù)組不變)

四、方法分類表

分類 方法 功能 返回新數(shù)組 map() 映射每個(gè)元素 filter() 篩選元素 concat() 連接數(shù)組 slice() 截取數(shù)組 flat() 扁平化數(shù)組 flatMap() 映射后扁平化 修改原數(shù)組 push() 末尾添加元素 pop() 末尾移除元素 shift() 開頭移除元素 unshift() 開頭添加元素 sort() 排序數(shù)組 reverse() 反轉(zhuǎn)數(shù)組 splice() 添加/刪除/替換元素 fill() 填充數(shù)組 其他(無返回?cái)?shù)組) forEach() 遍歷元素 some() 檢查是否有元素符合條件 every() 檢查是否所有元素都符合條件 find() 查找元素 findIndex() 查找元素索引 includes() 檢查元素是否存在 indexOf() 查找元素索引 lastIndexOf() 從末尾查找元素索引

五、使用建議

  • 不可變操作 :當(dāng)需要保持原數(shù)組不變時(shí),使用返回新數(shù)組的方法(如 map 、 filter 、 slice )

  • 性能考慮 :對于大型數(shù)組,頻繁創(chuàng)建新數(shù)組可能影響性能,可考慮使用修改原數(shù)組的方法

  • 鏈?zhǔn)秸{(diào)用 :返回新數(shù)組的方法支持鏈?zhǔn)秸{(diào)用,提高代碼可讀性

    const result = arr
       .filter(x => x > 0)
       .map(x => x * 2)
       .sort((a, b) => a - b);
  • 函數(shù)式編程 :推薦使用不可變方法,符合函數(shù)式編程原則,減少副作用

六、注意事項(xiàng)

  • sort() 方法 :默認(rèn)按字符串 Unicode 碼點(diǎn)排序,對于數(shù)字需要提供比較函數(shù)

  • splice() 方法 :參數(shù)復(fù)雜,使用時(shí)需注意索引和刪除數(shù)量的正確性

  • reduce() 方法 :功能強(qiáng)大但相對復(fù)雜,需理解累加器的工作原理

  • 箭頭函數(shù) :在 forEach 、 map 等方法中使用箭頭函數(shù)時(shí),需注意 this 指向 通過理解這些方法的特性,可以更有效地使用數(shù)組操作,提高代碼質(zhì)量和性能。

總結(jié)

到此這篇關(guān)于JavaScript數(shù)組原型方法分類的文章就介紹到這了,更多相關(guān)JS數(shù)組原型方法分類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Bootstrap中的Dropdown下拉菜單更改為懸停(hover)觸發(fā)

    Bootstrap中的Dropdown下拉菜單更改為懸停(hover)觸發(fā)

    在使用bootstrap制作響應(yīng)式導(dǎo)航條時(shí),dropdown組件用的比較多,dropdown默認(rèn)鼠標(biāo)左鍵單擊才展開,如果使用鼠標(biāo)放上去(hover)就展開則會(huì)省去點(diǎn)擊時(shí)間,這樣能提高效率,下面小編給大家解答下實(shí)現(xiàn)思路
    2016-08-08
  • JavaScrip實(shí)現(xiàn)前端文件下載并接收文件流

    JavaScrip實(shí)現(xiàn)前端文件下載并接收文件流

    在前端,處理文件下載通常涉及到接收一個(gè)文件流,本文為大家整理了前端文件下載并接受文件流的一些常見方法,有需要的小伙伴可以參考一下
    2024-12-12
  • webpack4 SCSS提取和懶加載的示例

    webpack4 SCSS提取和懶加載的示例

    這篇文章主要介紹了webpack4 SCSS提取和懶加載的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • javascript原型鏈圖解的總結(jié)和實(shí)踐

    javascript原型鏈圖解的總結(jié)和實(shí)踐

    這篇文章主要為大家介紹了javascript原型鏈圖解的總結(jié)和實(shí)踐,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • Webpack在異步請求JS文件時(shí)如何獲取JS?Bundle的機(jī)制

    Webpack在異步請求JS文件時(shí)如何獲取JS?Bundle的機(jī)制

    Webpack是一個(gè)現(xiàn)代JavaScript應(yīng)用程序的靜態(tài)模塊打包工具,它的主要作用是將項(xiàng)目中的多個(gè)模塊按照依賴關(guān)系進(jìn)行打包,生成一個(gè)或多個(gè)靜態(tài)資源文件,這篇文章主要介紹了Webpack在異步請求JS文件時(shí)如何獲取JS?Bundle機(jī)制的相關(guān)資料,需要的朋友可以參考下
    2026-01-01
  • js實(shí)現(xiàn)貪吃蛇游戲(簡易版)

    js實(shí)現(xiàn)貪吃蛇游戲(簡易版)

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)貪吃蛇游戲簡易版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • js 對小數(shù)加法精度處理示例說明

    js 對小數(shù)加法精度處理示例說明

    javascript的加法結(jié)果會(huì)有誤差,在兩個(gè)浮點(diǎn)數(shù)相加的時(shí)候會(huì)比較明顯。這個(gè)函數(shù)返回較為精確的加法結(jié)果,下面為大家介紹下js如何對小數(shù)加法精度處理
    2013-12-12
  • 使用微信SDK自定義分享的方法

    使用微信SDK自定義分享的方法

    這篇文章主要介紹了使用微信SDK自定義分享的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • JavaScript?Canvas實(shí)現(xiàn)圖片局部放大鏡效果

    JavaScript?Canvas實(shí)現(xiàn)圖片局部放大鏡效果

    這篇文章主要為大家詳細(xì)介紹了如何使用JavaScript?Canvas實(shí)現(xiàn)圖片局部放大鏡效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • ajax讀取數(shù)據(jù)后使用jqchart顯示圖表的方法

    ajax讀取數(shù)據(jù)后使用jqchart顯示圖表的方法

    這篇文章主要介紹了ajax讀取數(shù)據(jù)后使用jqchart顯示圖表的方法,涉及Ajax操作及圖表插件的相關(guān)使用技巧,需要的朋友可以參考下
    2015-06-06

最新評論

旬阳县| 齐齐哈尔市| 江油市| 白朗县| 永安市| 和龙市| 永安市| 施甸县| 高邮市| 武冈市| 葫芦岛市| 元阳县| 儋州市| 庆城县| 汶上县| 崇文区| 陵川县| 双城市| 文水县| 绥棱县| 光山县| 绍兴县| 沙洋县| 鄢陵县| 建德市| 额济纳旗| 汶川县| 夹江县| 蚌埠市| 桐庐县| 应用必备| 拉萨市| 商洛市| 新建县| 凤山市| 炎陵县| 淮北市| 库尔勒市| 永登县| 司法| 惠州市|