亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

ES6的數(shù)組方法

longmon / 1197人閱讀

摘要:方法接收一個(gè)函數(shù)作為累加器數(shù)組中的每個(gè)值從左到右開(kāi)始合并最終為一個(gè)值執(zhí)行數(shù)組中每個(gè)值的函數(shù)也可以叫做包含個(gè)參數(shù)上一次調(diào)用回調(diào)返回的值或者是提供的初始值數(shù)組中當(dāng)前被處理的元素當(dāng)前元素在數(shù)組中的索引調(diào)用的數(shù)組作為第一次調(diào)用的第一個(gè)參數(shù)這個(gè)參數(shù)不

reduce()

1.reduce()方法接收一個(gè)函數(shù)作為累加器(accumulator),數(shù)組中的每個(gè)值(從左到右)開(kāi)始合并,最終為一個(gè)值.
array.reduce(callback, initialValue)
2.callback:執(zhí)行數(shù)組中每個(gè)值的函數(shù)(也可以叫做reducer),包含4個(gè)參數(shù).

1.previousValue:上一次調(diào)用回調(diào)返回的值,或者是提供的初始值(initialValue)
2.currentValue:數(shù)組中當(dāng)前被處理的元素
3.index:當(dāng)前元素在數(shù)組中的索引
4.array:調(diào)用reduce的數(shù)組

initialValue:作為第一次調(diào)用callback的第一個(gè)參數(shù),這個(gè)參數(shù)不是必需的.

var s = a.reduce((prev, current) => {
    return prev + current;  // 1 + 2, 3+ 3
}, 10);
console.log(s);

var todos = [{
    id: 1,
    completed: true
}, {
    id: 2,
    completed: false
}, {
    id: 3,
    completed: true
}, {
    id: 4,
    completed: true
}, {
    id: 5,
    compelted: false
}];

const completedCount = todos.reduce((count, current) => {
    return current.completed ? count + 1 : count
}, 0);
console.log(completedCount);    // 3

const unCompleted = todos.reduce((count, current) => {
    return !current.completed ? count + 1 : count;
}, 0);
console.log(unCompleted);   // 2

var count = 0;
todos.map((item) => {
    if (item.completed) {
        count++;
    }
});
console.log(count); // 3
filter()

1.filter()方法使用指定的函數(shù)測(cè)試所有元素,并創(chuàng)建一個(gè)包含所有通過(guò)測(cè)試的元素的新數(shù)組.
array.filter(callback, thisArg)
2.callback:用來(lái)測(cè)試數(shù)組的每個(gè)元素的函數(shù),包含三個(gè)參數(shù).
返回true表示保留該元素(通過(guò)測(cè)試),返回false則不保留.
currentValue:數(shù)組中當(dāng)前被傳遞的元素.

var a = [1, 2, 3, 4, 5];

var b = a.filter((item) => {
    return item > 3;
});

console.log(b);

var todos = [{
    id: 1,
    completed: true
}, {
    id: 2,
    completed: false
}, {
    id: 3,
    completed: true
}, {
    id: 4,
    completed: true
}, {
    id: 5,
    compelted: false
}];

var completedTodos = todos.filter((item) => {
    return item.completed;
});

console.log(completedTodos);
map()

1.map()方法返回一個(gè)由原數(shù)組中的每個(gè)元素調(diào)用一個(gè)指定方法后的返回值組成的新數(shù)組.
array.map(callback, thisArg)
callback:原數(shù)組中的元素調(diào)用該方法后返回一個(gè)新的元素.
currentValue:數(shù)組中當(dāng)前被傳遞的元素.

var a = [1, 2, 3, 4, 5];

var b = a.filter((item) => {
    return item > 3;
});
console.log(b); // [4 ,5]

var bb = [];
a.map((item) => {
    if (item > 3) {
        bb.push(item);
    }
});
console.log(bb);    // [4, 5]

var bbb = a.map((item) => {
    return item + 1;
});
console.log(bbb);   // [2, 3, 4, 5, 6]
every()

1.every()方法用于測(cè)試數(shù)組中所有元素是否都通過(guò)了指定函數(shù)的測(cè)試.
array.every(callback, thisArg);

var a = [1, 2, 3, 4, 5];
var b = a.every((item) => {
    return item > 0;
});
var c = a.every((item) => {
    return item > 1;
});
console.log(b); // true
console.log(c); // false
some()

1.some()方法用于測(cè)試數(shù)組中是否至少有一項(xiàng)元素通過(guò)了指定函數(shù)的測(cè)試.
array.some(callback, thisArg);

var bb = a.some((item) => {
    return item > 4;
});

var cc = a.some((item) => {
    return item > 5;
});
console.log(bb);    // true
console.log(cc);    // false
forEach()

1.forEach()為每個(gè)元素執(zhí)行對(duì)應(yīng)的方法.

var a = [1, 2, 3, 4, 5];

var b = [];
a.forEach((item) => {
    b.push(item + 1);
});
console.log(b); // [2,3,4,5,6]
indexOf()

1.indexOf()方法返回在該數(shù)組中第一個(gè)找到的元素位置,如果它不存在則返回-1.

 var a = [1, 2, 3, 4, 5];

var b = a.indexOf(2);
var c = a.indexOf(6);
console.log(b); // 1
console.log(c); // -1
展開(kāi)運(yùn)算符

1.展開(kāi)運(yùn)算符允許一個(gè)表達(dá)式在某處展開(kāi).常用的場(chǎng)景包括:函數(shù)參數(shù),數(shù)組元素,解構(gòu)賦值.
另外,jsx的組件props也可以使用展開(kāi)運(yùn)算符來(lái)賦值.
2.解構(gòu)賦值(destructuring assignment)語(yǔ)法是一個(gè)js表達(dá)式,
它使得從數(shù)組或?qū)ο笾刑崛?shù)據(jù)賦值給不同的變量變?yōu)榭赡?

var a = [1, 2, 3, 4, 5];

var [b, c] = a;
console.log(b); // 1
console.log(c); // 2

function fun(...a) {
    console.log(a); // [1, 2, 3]
}
fun(1, 2, 3);   // 傳入1,2,3參數(shù),...a為數(shù)組[1,2,3]

function gun({a, b}) {
    return a + b;
}
console.log(gun({ a: 1, b: 2 }));   // 3

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/84864.html

相關(guān)文章

  • ES6核心特性

    摘要:報(bào)錯(cuò)不報(bào)此外還有個(gè)好處就是簡(jiǎn)化回調(diào)函數(shù)正常函數(shù)寫(xiě)法箭頭函數(shù)寫(xiě)法改變指向長(zhǎng)期以來(lái),語(yǔ)言的對(duì)象一直是一個(gè)令人頭痛的問(wèn)題,在對(duì)象方法中使用,必須非常小心。 前言 ES6 雖提供了許多新特性,但我們實(shí)際工作中用到頻率較高并不多,根據(jù)二八法則,我們應(yīng)該用百分之八十的精力和時(shí)間,好好專研這百分之二十核心特性,將會(huì)收到事半功倍的奇效!寫(xiě)文章不容易,請(qǐng)大家多多支持與關(guān)注!本文首發(fā)地址GitHub博客(...

    loostudy 評(píng)論0 收藏0
  • ES6核心特性

    摘要:報(bào)錯(cuò)不報(bào)此外還有個(gè)好處就是簡(jiǎn)化回調(diào)函數(shù)正常函數(shù)寫(xiě)法箭頭函數(shù)寫(xiě)法改變指向長(zhǎng)期以來(lái),語(yǔ)言的對(duì)象一直是一個(gè)令人頭痛的問(wèn)題,在對(duì)象方法中使用,必須非常小心。 前言 ES6 雖提供了許多新特性,但我們實(shí)際工作中用到頻率較高并不多,根據(jù)二八法則,我們應(yīng)該用百分之八十的精力和時(shí)間,好好專研這百分之二十核心特性,將會(huì)收到事半功倍的奇效!寫(xiě)文章不容易,請(qǐng)大家多多支持與關(guān)注!本文首發(fā)地址GitHub博客(...

    _DangJin 評(píng)論0 收藏0
  • 你該知道ES6那些事兒

    摘要:最近重構(gòu)了一個(gè)項(xiàng)目,引入了部分用法,最大的感受是讓這門(mén)語(yǔ)言變得更加嚴(yán)謹(jǐn),更加方便。通過(guò)該方法獲得位置后還得比較一次才能判斷是否存在。再來(lái)看看的寫(xiě)法使用數(shù)組來(lái)初始化一個(gè),構(gòu)造器能確保不重復(fù)地使用這些值。下面提供鏈接,供有興趣的朋友參考。 最近重構(gòu)了一個(gè)SPA項(xiàng)目,引入了部分ES6用法,最大的感受是ES6讓javascript這門(mén)語(yǔ)言變得更加嚴(yán)謹(jǐn),更加方便。本篇將結(jié)合實(shí)戰(zhàn)經(jīng)驗(yàn),對(duì)最常用的部...

    CoffeX 評(píng)論0 收藏0
  • [ ES6 ] 快速掌握常用 ES6 (二)

    摘要:本系列文章適合快速掌握入門(mén)語(yǔ)法,想深入學(xué)習(xí)的小伙伴可以看看阮一峰老師的入門(mén)本篇文章是對(duì)之前文章的一個(gè)補(bǔ)充,可以使代碼更簡(jiǎn)潔函數(shù)參數(shù)默認(rèn)值在傳統(tǒng)語(yǔ)法中如果想設(shè)置函數(shù)默認(rèn)值一般我們采用判斷的形式在新的語(yǔ)法中我們可以在參數(shù)聲明的同時(shí)賦予默認(rèn)值參數(shù) 本系列文章適合快速掌握 ES6 入門(mén)語(yǔ)法,想深入學(xué)習(xí) ES6 的小伙伴可以看看阮一峰老師的《ECMAScript 6 入門(mén)》 本篇文章是對(duì)之前文章...

    hidogs 評(píng)論0 收藏0
  • ES6數(shù)組

    摘要:中的方法遍歷一下數(shù)組中的每個(gè)選項(xiàng)返回一個(gè)新的數(shù)組。還可以接受第二個(gè)參數(shù),作用類似與數(shù)組的方法,用于對(duì)每個(gè)元素進(jìn)行處理。這個(gè)方式是用于將一組值,轉(zhuǎn)換為數(shù)組??蛇x到該位置前停止讀取數(shù)據(jù),默認(rèn)等于數(shù)組長(zhǎng)度。如果是負(fù)數(shù),表示倒數(shù)。 ES6中數(shù)組增加了很多新的方法,但是先回顧下之前ES5中的數(shù)組的方法。 ES5中的方法 Array.prototype.forEach 遍歷一下數(shù)組中的每個(gè)選...

    lavor 評(píng)論0 收藏0
  • ES6 舊瓶新酒

    摘要:本文是系列的第二篇,前一篇走馬觀花概要介紹了,這一篇標(biāo)題之所以叫舊瓶新酒,是想介紹那些原來(lái)就被廣泛使用的對(duì)象,例如,對(duì)這些對(duì)象擴(kuò)展了一些很有用的新方法。用于監(jiān)聽(tīng)取消監(jiān)聽(tīng)數(shù)組的變化,指定回調(diào)函數(shù)。在中已被建議撤銷。 本文是 ES6 系列的第二篇,前一篇《ES6 走馬觀花》概要介紹了ES6,這一篇標(biāo)題之所以叫舊瓶新酒,是想介紹那些原來(lái)就被廣泛使用的JS對(duì)象,例如String、Array,E...

    未東興 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<