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

JavaScript數組 幾個常用方法總結

 更新時間:2021年11月10日 09:16:24   作者:四冥  
這篇文章主要介紹了JavaScript數組 幾個常用方法,主要概述的方法有filter()、map()、sort()、reduce()、forEach(),這些方法都是JavaScript常用到的方法,下面文章內容詳細介紹了他們的語法、參數、返回值等資料,需要的朋友可以參考一下

1、前言

數組方法有太多了,本文記錄一些本人容易記錯的一些數組方法,用于鞏固及復習。
后續(xù)會慢慢的將其他數組方法添加進來。
善用數組方法可以使數據處理變的優(yōu)雅且簡單。

那下面讓我們開始吧:

2、filter()

描述:

filter() 方法創(chuàng)建一個新數組,并將符合條件的所有元素添加到創(chuàng)建的新數組中。

語法:

Array.filter(callback(element, index, array) { // 函數體 }, thisValue)


參數:

callbackthisValue:

參數 是否可選 描述
參數一 callback 必選 用來測試數組的每個元素的函數。返回 true 表示該元素通過測試,保留該元素,false 則不保留。它接收三個參數。
參數二 thisValue 可選 執(zhí)行 callback 時,用于 this 的值。
對象作為該執(zhí)行回調時使用,傳遞給函數。
如果省略了 thisValue ,"this" 的值為 "undefined"

callback的參數列表:

參數 是否可選 描述
參數一 element 必選 當前元素
參數二 index 可選 當前元素的索引值
參數三 array 可選 調用了 filter 的數組本身

thisValue的參數:

執(zhí)行 callback 時,用于 this 的值。

返回值:

是一個由 filter() 參數一函數的返回值組成的新數組

示例:

let users = [
  {id: 11, name: "孫悟空"},
  {id: 21, name: "豬八戒"},
  {id: 31, name: "沙和尚"}
];

// 返回前兩個用戶的數組
let filterUsers = users.filter(item => item.id < 31);

console.log(filterUsers.length); // 2

3、map()

描述:

map() 方法創(chuàng)建一個新數組,新數組的每個元素是調用一次給定函數的返回值。

語法:

Array.map(callback(currentValue, index, array) { // 函數體 }, thisValue)


參數:

callbackthisValue

參數 是否可選 描述
參數一 callback 必選 數組中的每個元素都要運行的回調函數。它接收三個參數。
參數二 thisValue 可選 執(zhí)行 callback 時,用于 this 的值。
對象作為該執(zhí)行回調時使用,傳遞給函數。
如果省略了 thisValue ,"this" 的值為 "undefined"

callback的參數列表:

參數 是否可選 描述
參數一 element 必選 當前元素
參數二 index 可選 當前元素的索引值
參數三 array 可選 調用了 filter 的數組本身

thisValue的參數:

執(zhí)行 callback 時,用于 this 的值。

返回值:

是一個由原數組每個元素執(zhí)行回調函數的結果組成的新數組。

示例:

let number = [1, 2, 3].map(item => item + 1);

console.log(lengths); // 2, 3, 4

4、sort()

描述:

map() 方法在原數組上進行修改更改元素的順序

注:默認排序順序是在將元素轉換為字符串,然后比較它們的UTF-16代碼單元值序列時

語法:

Array.sort( compareFunction )


參數:

compareFunction

參數 是否可選 描述
參數一 compareFunction 可選 規(guī)定排列順序的函數。如果省略,元素按照轉換為的字符串的各個字符的Unicode位點進行排序。

compareFunction的參數列表:

參數 是否可選 描述
參數一 firstEl 必選 第一個用于比較的元素。
參數二 secondEl 必選 第二個用于比較的元素。

compareFunction返回值

返回一個說明這兩個值順序的數字

  • 若 a 小于 b,在排序后的數組中 a 應該出現在 b 之前,則返回一個小于 0 的值。
  • 若 a 等于 b,則返回 0。
  • 若 a 大于 b,則返回一個大于 0 的值。

返回值:

返回值為排序后的數組,但是返回值通常會被忽略,因為修改了原數組。

示例:

let number = [1, 2, 3].map(item => item + 1);

console.log(lengths); // 2, 3, 4

5、reduce()

描述:
reduce() 方法為數組中的每一個元素依次執(zhí)行(升序執(zhí)行)回調函數,不包括數組中被刪除或從未被賦值的元素。將其結果計算為一個值。

注:reduce() 可以作為一個高階函數,用于函數的 compose。

語法:

Array.reduce(callback(accumulator, currentValue, index, array), initialValue)


參數:

callbackinitialValue

參數 是否可選 描述
參數一 callback 必選 執(zhí)行數組中每個數組元素的函數 (如果沒有initialValue初始值那么第一個值不會執(zhí)行改函數)它接收四個參數。
參數二 initialValue 可選 callback函數的初始值

callback的參數列表:

參數 是否可選 描述
參數一 accumulator 必選 累計器累計回調的返回值; 它是上一次調用回調時返回的累積值,或initialValue。
參數二 currentValue 必選 當前元素
參數三 index 可選 當前元素的索引值
參數四 array 可選 調用了 reduce() 的數組本身

initialValue的參數:

作為第一次調用 callback函數時的第一個參數的值。 如果沒有提供初始值,則將使用數組中的第一個元素作為初始值。 在沒有初始值的空數組上調用 reduce 將報錯。

返回值:

函數累計處理后的結果
執(zhí)行完所有callback函數的accumulator參數

注:    我們的 reducer 函數的返回值分配給累計器,該返回值在數組的每個迭代中被記住,并最后成為最終的單個結果值。

示例:

let number = [1, 2, 3, 4];

let result = number.reduce((sum, current) => sum + current, 0);

console.log(result); // 10

6、forEach()

描述:

reduce() 方法為數組中的每一個元素依次執(zhí)行(升序執(zhí)行)回調函數,不包括數組中被刪除或從未被賦值的元素。將其結果計算為一個值。

注:reduce() 可以作為一個高階函數,用于函數的 compose。

語法:

Array.forEach(callback(currentValue , index , array), thisValue)

參數:

callbackthisValue

參數 是否可選 描述
參數一 callback 必選 執(zhí)行數組中每個數組元素的函數,它接收三個參數。
參數二 thisValue 可選 執(zhí)行 callback 時,用于 this 的值。
對象作為該執(zhí)行回調時使用,傳遞給函數。
如果省略了 thisValue ,"this" 的值為 "undefined"

callback的參數列表:

參數 是否可選 描述
參數一 currentValue 必選 當前元素
參數二 index 可選 當前元素的索引值
參數三 array 可選 調用了 forEach() 的數組本身

thisValue的參數:

執(zhí)行 callback 時,用于 this 的值。

返回值:

該方法沒有返回值。

示例:

let number = [1, 2, 3, 4];

number.forEach((item, index ,array) =>{
 console.log(item); // 1/2/3/4
});

7、方法列表

方法屬性:

方法 改變原數組 返回值描述 描述
filter() 過濾后的新數組 過濾器
map() 循環(huán)后的新數組 循環(huán)
sort() 為排序后的數組 排序
reduce() 為函數累計處理后的結果 累加器
forEach() 沒有返回值為undefined 循環(huán)

到此這篇關于JavaScript數組 幾個常用方法總結的文章就介紹到這了,更多相關JavaScript數組 幾個常用方法 內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

8、本文參考

MDN中文官網https://developer.mozilla.org/zh-CN/
W3School 簡體中文版https://www.w3school.com.cn/

相關文章

  • Js原型鏈constructor prototype __proto__屬性實例詳解

    Js原型鏈constructor prototype __proto__屬性實例詳解

    這篇文章主要介紹了Js原型鏈constructor prototype __proto__屬性實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • 詳解微信小程序設置底部導航欄目方法

    詳解微信小程序設置底部導航欄目方法

    這篇文章主要介紹了詳解微信小程序設置底部導航欄目方法的相關資料,需要的朋友可以參考下
    2017-06-06
  • JS創(chuàng)建對象的四種方式

    JS創(chuàng)建對象的四種方式

    這篇文章主要給大家分享JS創(chuàng)建對象的四種方式,分別是字面量的方式去創(chuàng)建對象、使用new字符創(chuàng)建對象、自定義構造函數、工廠模式創(chuàng)建對象,更多詳細內容,請參考下面文章的具體內容
    2021-11-11
  • JavaScript文檔對象模型DOM

    JavaScript文檔對象模型DOM

    這篇文章主要介紹了JavaScript文檔對象模型DOM,當網頁被加載時,瀏覽器會創(chuàng)建頁面的文檔對象模型,通過可編程的對象模型,JavaScript 獲得了足夠的能力來創(chuàng)建動態(tài)的 HTML。下面來看看文章得詳細內容,需要的朋友可以參考一下
    2021-11-11
  • 微信小程序 教程之事件

    微信小程序 教程之事件

    這篇文章主要介紹了微信小程序 事件的相關資料,并附實例代碼,需要的朋友可以參考下
    2016-10-10
  • 詳解使用koa2完成Excel導入導出

    詳解使用koa2完成Excel導入導出

    這篇文章主要為大家介紹了詳解使用koa2完成Excel導入導出示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Promise靜態(tài)四兄弟實現示例詳解

    Promise靜態(tài)四兄弟實現示例詳解

    這篇文章主要為大家介紹了Promise靜態(tài)四兄弟實現示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • 動態(tài)加載iframe

    動態(tài)加載iframe

    動態(tài)加載iframe...
    2006-06-06
  • 微信小程序 Flex布局詳解

    微信小程序 Flex布局詳解

    這篇文章主要介紹了微信小程序 Flex布局詳解的相關資料,需要的朋友可以參考下
    2016-10-10
  • JS高級ES6的6種繼承方式

    JS高級ES6的6種繼承方式

    這篇文章主要和大家分享的事JS高級ES6的6種繼承方式,繼承是面向對象中老生常談的一個內容,在ECMAScript6之前,JavaScript中的繼承可謂是非常的繁瑣的,有各種各樣的繼承,本質上所有的繼承都是離不開原型鏈的,更多詳細內容請感興趣的小伙伴參考下面文章內容吧
    2021-12-12

最新評論

大同县| 卢氏县| 迭部县| 凌云县| 额敏县| 青州市| 平顶山市| 古丈县| 三原县| 瓮安县| 揭西县| 漯河市| 连江县| 呼玛县| 华安县| 盖州市| 昌宁县| 礼泉县| 濮阳市| 平顺县| 梁平县| 蛟河市| 工布江达县| 通江县| 合肥市| 景德镇市| 余姚市| 丘北县| 仪征市| 九寨沟县| 洪洞县| 红河县| 凌海市| 得荣县| 信丰县| 石屏县| 漳浦县| 遂平县| 兴海县| 怀柔区| 达州市|