成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

數(shù)組方法-ES5(復習筆記)

TZLLOG / 833人閱讀

摘要:接收四個參數(shù)上一次調(diào)用回調(diào)返回的值,或者是提供的初始值前一個值數(shù)組中當前被處理的數(shù)組項當前值當前數(shù)組項在數(shù)組中的索引值項的索引調(diào)用方法的數(shù)組說這么多還是看代碼就清楚了第一次執(zhí)行回調(diào)函數(shù),是,是。

數(shù)組方法ES5

------ES5-------

push() --從數(shù)組末尾添加參數(shù),返回修改后數(shù)組的長度;(可傳多個參數(shù))

    棧方法(后進先出)
var animals = ["cat","dog","pig"];
var all = animals.push("bird");  //末尾推入一項
console.log(all);  // 4

pop() --從數(shù)組末尾刪除參數(shù),返回值為刪除元素(只刪除一個);
棧方法(后進先出)

var animals = ["cat","dog","pig","bird"];
var all = animals.pop(); //取得最后一項  
console.log(all);  // bird

unshift() --從數(shù)組起始添加參數(shù),返回修改后數(shù)組的長度;(可傳多個參數(shù))

   隊列方法(先進先出)
var animals = ["cat","dog","pig"];
var all = animals.unshift("bird");  //起始推入一項
console.log(all);  // 4

shift() --從數(shù)組起始刪除參數(shù),返回值為刪除元素(只刪除一個)

   隊列方法(先進先出)
var animals = ["cat","dog","pig","bird"];
var all = animals.unshift();  //取得起始一項
console.log(all);  // cat

splice()--
刪除:刪除任意數(shù)量的項,指定兩個參數(shù),要刪除的第一項的位置和要刪除得項數(shù);

var animals = ["cat","dog","pig","bird"];
var all = animals.splice(0,2);  //刪除前兩項
console.log(all);  // ["cat"]

插入:向指定位置添加任意數(shù)量的項,需提供三個參數(shù):起始位置、0(要刪除的項數(shù))和要插入的項;

var animals = ["cat","dog","pig","bird"];
var all = animals.splice(2,0,"a","b","c");  //從第二項后插入
console.log(all);  // [] 
console.log(animals);  // ["cat", "dog", "a", "b", "c", "pig", "bird"]

替換:向指定位置添加任意數(shù)量的項,且同時刪除任意數(shù)量的項,需提供三個參數(shù):起始位置、要刪除的項數(shù)和要插入的項;

var animals = ["cat","dog","pig","bird"];
var all = animals.splice(1,3,"a","b","c");  //從第一項后插入,刪除后三項
console.log(all);  // ["dog", "pig", "bird"] 返回刪除得項
console.log(animals);  // ["cat", "a", "b", "c"]

slice(start,end)--切去起始位置到結(jié)束位置的數(shù)組(不包含end),返回值為切出的數(shù)組;

var animals = ["cat","dog","pig","bird","tiger"];
var frag = animals.slice(1,2);  
var frag2 = animals.slice(1);
console.log(frag);    //["dog"]
console.log(frag2);  // ["dog", "pig", "bird","tiger"]
//如果slice()方法的參數(shù)中有一個負數(shù),則用數(shù)組長度加上該數(shù)來確定相應的位
//置。例如,在一個包含5 項的數(shù)組上調(diào)用slice(-2,-1)與調(diào)用slice(3,4)得到的
//結(jié)果相同。如果結(jié)束位置小于起始位置,則返回空數(shù)組。
var frag3 = animals.slice(-3); //等同于 animals.slice(2)
var frag4 = animals.slice(-3,-1); //等同于 animals.slice(2,4)

concat()--連接兩個數(shù)組返回新數(shù)組

var colors = ["red", "green", "blue"];
var colors2 = colors.concat("yellow", ["black", "brown"]);
alert(colors); //red,green,blue
alert(colors2); //red,green,blue,yellow,black,brown

Javascript高級程序設(shè)計(第3版)

sort()--按升序排列數(shù)組項,即最小的值位于最前面,最大的值排在最后面(默認是按照最左邊的數(shù)字進行排序,不是按照數(shù)字大小排序的),返回值是排好的數(shù)組;

var values = [0, 1, 5, 10, 15];
values.sort();
console.log(values); //0,1,10,15,5
values.sort(function(a,b){
    return a - b;   //由小到大排序,b-a由大到小排序
})

reverse()--反轉(zhuǎn)數(shù)組項的順序(默認是按照最左邊的數(shù)字進行排序,不是按照數(shù)字大小排序的),返回值是反轉(zhuǎn)后的數(shù)組;

var values = [1, 22, 3, 43, 5];
values.reverse();
console.log(values); //5,43,3,22,1

indexOf()--查找某個元素的索引值,若有重復的,則返回第一個查到的索引值若不存在,則返回-1

var numbers = [1,2,3,4,5,4,3,2,1];
alert(numbers.indexOf(4)); //3

lastIndexOf()--查找某個元素的索引值(從后往前),若有重復的,則返回第一個查到的索引值若不存在,則返回-1;

var numbers = [1,2,3,4,5,4,3,2,1];
alert(numbers.lastIndexOf(4)); //5

forEach(callback)--遍歷數(shù)組。這個方法沒有返回值;

var numbers = [1,2,3,4,5,4,3,2,1];
numbers.forEach(function(item,index,array){
    console.log(`value:${value}  index:${index}  array:${array}`)
})

every(callback)--根據(jù)條件判斷,全部滿足,則返回true,否則false;

var numbers = [1,2,3,4,5,4,3,2,1];
var everyResult = numbers.every((v,i) => v < 3);
alert(everyResult); //false

filter(callback)--對數(shù)組進行過濾,返回滿足條件的數(shù)組;

var numbers = [1,2,3,4,5,4,3,2,1];
var filterResult = numbers.filter((item, index, array) => item >2);
alert(filterResult); //[3,4,5,4,3]

map(callback)--映射數(shù)組(遍歷數(shù)組),有return 返回一個新數(shù)組;

var numbers = [1,2,3,4,5,4,3,2,1];
var mapResult = numbers.map((item, index, array) => item * 2);
alert(mapResult); //[2,4,6,8,10,8,6,4,2]

some(callback)--根據(jù)條件判斷,有一個滿足條件,則返回true;

var numbers = [1,2,3,4,5,4,3,2,1];
var someResult = numbers.map((item, index, array) => item > 2);
alert(someResult); //true

reduce()--方法接收一個函數(shù) callback 作為累加器([accumulator]()),數(shù)組中的每個值(從左到右)開始合并,最終為一個值。
接收四個參數(shù):
preValue: 上一次調(diào)用回調(diào)返回的值,或者是提供的初始值(initialValue)前一個值
curValue: 數(shù)組中當前被處理的數(shù)組項(當前值)
index: 當前數(shù)組項在數(shù)組中的索引值(項的索引)
array: 調(diào)用 reduce()方法的數(shù)組

說這么多還是看代碼就清楚了

var values = [1,2,3,4,5];
var sum = values.reduce(function(prev, cur, index, array){
    return prev + cur;
});
alert(sum); //15

`第一次執(zhí)行回調(diào)函數(shù),prev 是1,cur 是2。第二次,prev 是3(1 加2 的結(jié)果),cur 是3(數(shù)組
的第三項)。這個過程會持續(xù)到把數(shù)組中的每一項都訪問一遍,最后返回結(jié)果。`

reduceRight()--功能和 reduce() 功能是一樣的,不同的是 reduceRight() 從數(shù)組的末尾向前將數(shù)組中的數(shù)組項做累加;

var values = [1,2,3,4,5];
var sum = values.reduce(function(prev, cur, index, array){
    return prev + cur;
});
alert(sum); //15

`第一次執(zhí)行回調(diào)函數(shù),prev 是5,cur 是4。當然,最終結(jié)果相同,因為執(zhí)行的都
是簡單相加的操作。
使用reduce()還是reduceRight(),主要取決于要從哪頭開始遍歷數(shù)組。除此之外,它們完全
相同。`

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/103107.html

相關(guān)文章

  • 【重溫基礎(chǔ)】1.語法和數(shù)據(jù)類型

    摘要:語法和數(shù)據(jù)類型正文開始本章節(jié)復習的是中的基本語法,變量聲明,數(shù)據(jù)類型和字面量。聲明一個塊作用域的局部變量,可賦一個初始值。變量聲明有三種方式如,聲明局部變量和全局變量。 最近開始把精力放在重新復習JavaScript的基礎(chǔ)知識上面,不再太追求各種花枝招展的前端框架,框架再多,適合實際項目才是最重要。 上星期在掘金發(fā)布了幾篇文章,其中最大塊算是 【復習資料】ES6/ES7/ES8/ES...

    Darkgel 評論0 收藏0
  • 數(shù)組的使用總結(jié)— (js基礎(chǔ)復習第2期)

    摘要:前一個值,當前值,索引,數(shù)組對象產(chǎn)生新數(shù)組的迭代器方法類似,對數(shù)組的每個元素使用某個函數(shù),并返回新數(shù)組和相似,傳入一個返回值為布爾類型的函數(shù)。 1. 前言 數(shù)組真的是每天用了,但是有很多方法都是記不住,總是要百度查,很煩,所以才寫了個數(shù)組使用總結(jié),有什么不對的希望大家指出來。 2. 思路 先看看這些問題都記得很清楚么? 創(chuàng)建數(shù)組,怎么創(chuàng)建數(shù)組的 數(shù)組的構(gòu)造方法Array有哪些方法?E...

    zhigoo 評論0 收藏0
  • js基礎(chǔ)知識點

    摘要:注意亂序遍歷對象屬性。注意因為會遍歷整個原型鏈的所有屬性值,所以效率較循環(huán)慢了很多。,不做類型轉(zhuǎn)換,類型不同的一定不等操作事件機制幾個概念事件流,事件冒泡,事件捕獲原型繼承面向?qū)ο笄岸四K化規(guī)范列表項目閉包跨域 根據(jù)百度學院的教程復習下js基礎(chǔ),在這里做一個匯總筆記 1.數(shù)據(jù)類型、判斷 最新的 ECMAScript 標準定義了 7 種數(shù)據(jù)類型: string number boole...

    浠ラ箍 評論0 收藏0
  • JS學習筆記 - 代碼復用

    摘要:本文章記錄本人在學習中看書理解到的一些東西,加深記憶和并且整理記錄下來,方便之后的復習。但是在開發(fā)的過程中,并不是所有的代碼復用都會使用到繼承。而且整個代碼都無法按照預期來運行。為了修復綁定對象與方法之間的關(guān)系。 本文章記錄本人在學習 JavaScript 中看書理解到的一些東西,加深記憶和并且整理記錄下來,方便之后的復習。 js 中復用代碼 說道代碼復用,一般都會涉及到對...

    cheng10 評論0 收藏0
  • 《ES6標準入門》讀書筆記

    摘要:標準入門讀書筆記和命令新增命令,用于聲明變量,是塊級作用域。用于頭部補全,用于尾部補全。函數(shù)調(diào)用的時候會在內(nèi)存形成一個調(diào)用記錄,又稱為調(diào)用幀,保存調(diào)用位置和內(nèi)部變量等信息。等到執(zhí)行結(jié)束再返回給,的調(diào)用幀才消失。 《ES6標準入門》讀書筆記 @(StuRep) showImg(https://segmentfault.com/img/remote/1460000006766369?w=3...

    HollisChuang 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<