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

資訊專欄INFORMATION COLUMN

【JS】JavaScript數(shù)組以及數(shù)組API學(xué)習(xí)總結(jié)

roundstones / 1328人閱讀

摘要:返回數(shù)組內(nèi)容的字符串表示形式將數(shù)組中每個元素轉(zhuǎn)為字符串,并用逗號連接。拍照連接符將數(shù)組中每個元素轉(zhuǎn)為字符串,用自定義的連接符連接每個元素需要用變量借助。

關(guān)于數(shù)組篇的記錄,純自己總結(jié),會持續(xù)更新~

原生js方法
1:創(chuàng)建數(shù)組的幾種方法:
var arr = []; 

var arr = new Array();

var arr = [1,2];

var arr = new Array(1,2,3);

var arr = new Array(n); 

**注意:new Array定義數(shù)組,會根據(jù)參數(shù)個數(shù)不同代表數(shù)組不同內(nèi)容
js中數(shù)組越界不報錯!而是返回undefined**

2:檢測是不是數(shù)組:
Array.isArray(arr) // 數(shù)組的API

arr instanceof Array      //通過構(gòu)造函數(shù)

Array.prototype.isPrototypeOf(arr)    //通過原型

Object.prototype.toString.call(arr)  //[Object Array]
3:遍歷關(guān)聯(lián)數(shù)組(哈希hash數(shù)組)
for(var key in arr){
    arr[key] 當(dāng)前屬性值
}
4:數(shù)組基礎(chǔ)API
arr.valueOf() // 返回值為該對象的原始值。

arr.toString() // 返回數(shù)組內(nèi)容的字符串表示形式

String(arr) // 將數(shù)組中每個元素轉(zhuǎn)為字符串,并用逗號連接?!恼?
arr.join("連接符") //  將數(shù)組中每個元素轉(zhuǎn)為字符串,用自定義的"連接符"連接每個元素,需要用變量借助。

arr.reverse() // 將數(shù)組中元素的位置顛倒,并返回該數(shù)組,注意:原數(shù)組會改變

arr.sort() // 數(shù)組排序,按字符串大小排序,會改變原數(shù)組

arr.concat(otherArr) // 合并新元素,返回一個新數(shù)組需要用變量接住,不會改變原數(shù)組

arr.slice(start,end) // 剪切數(shù)組,含頭不含尾 ,返回新的數(shù)組,不會改變原數(shù)組

注意:拼接和截取: 都無法直接修改原數(shù)組而是返回新數(shù)組,用變量接住
arr.split([ 起始位置 | 要刪除元素的個數(shù) | 要插入元素的值,可以寫入多個值 ] )剪切數(shù)組/替    換/新增

arr.indexOf(item) // 返回第一個匹配到的元素在數(shù)組中所在的位置 or -1

arr.lastIndexOf(item)
注意:IE6, 7, 8 不支持indexOf與lastIndexOf方法 
5:棧和隊列相關(guān)API
arr.push() //  尾部添加元素,返回被新數(shù)組的長度,原數(shù)組會改變

arr.pop()  // 尾部刪除元素,返回被刪除的元素,原數(shù)組會改變

arr.unshift(item)  // 頭部添加元素,返回新數(shù)組的長度,原數(shù)組會改變

arr.shift(item) //  頭部刪除元素,返回被刪除的元素,原數(shù)組會改變
6:ES5 API:

注意:ES5數(shù)組API這些都不會改變原數(shù)組,新的數(shù)組要用變量接住

參數(shù):[ 調(diào)用every的數(shù)組的每一項元素 | 對應(yīng)元素所在的位置 | 表示該數(shù)組 ]

arr.every(function(item,index,array){}) // 該函數(shù)對每一項都返回true,則返回true,否則返回false

arr.some(function(item,index,array){})  // 該函數(shù)對其中一項返回true,則返回true

arr.filter(callback) // 數(shù)組過濾,返回滿足條件的元素組成的一個新數(shù)組,

arr.map(callback) // 對數(shù)組每一項進(jìn)行計算等處理,返回處理結(jié)果組成的數(shù)組,返回的是一個新數(shù)組

arr.reduce(fn) // ?前一個元素 | 當(dāng)前元素,從1開始 | 后一個元素的序列,從1開始計數(shù) | 表示該數(shù)組 ] _

var arr = [1,2,3,4,5];
var reduceArr = arr.reduce(function(pre,cur,index,array){
    return prev + cur;
})   //15
7:ES6 API
...[arr] 數(shù)組擴(kuò)展運(yùn)算符

Math.min(...[arr]) 等同于Math.min.apply(null,arr)  替換數(shù)組的apply方法

arr1.push(...arr2) 等同于Array.prototype.push.apply(arr1,arr2) 一個數(shù)組添加到另一個數(shù)組的尾部

[...arr1,...arr2,...arr3] 等同于arr1.concat(arr2,arr3)  合并數(shù)組

let[first,...const]=[1,2,3,4],結(jié)果first=1,const=[2,3,4] 結(jié)合解構(gòu)一起使用

Array.from() 將類數(shù)組對象和可遍歷的對象轉(zhuǎn)換為真正的數(shù)組(包括ES6新增的數(shù)據(jù)結(jié)構(gòu)Set和Map)

Array.from(“hello”)  [“h”,”e”,”l”,”l”,”o”]
let person={
    0:"張三",
    1:"李四",
    2:"王五",
    length:3 //必須要設(shè)置對象長度
};
let arr=Array.from(person); //等同于let arr=[].slice.call(person);

Array.of(1,2,3) [1,3,4] 將一組值轉(zhuǎn)換為數(shù)組

Array()會因參數(shù)個數(shù)導(dǎo)致行為有差異

Array.find(function(val,index,arr))
找到第一個符合條件的數(shù)組成員Array.findIndex(function(val,index,arr)) 找到第一個符合條件的數(shù)組位置
這兩個方法都可以發(fā)現(xiàn)NaN,彌補(bǔ)了數(shù)組的IndexOf方法的不足。

 arr.includes(value,[start]) 可以找到NaN

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

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

相關(guān)文章

  • JS程序

    摘要:設(shè)計模式是以面向?qū)ο缶幊虨榛A(chǔ)的,的面向?qū)ο缶幊毯蛡鹘y(tǒng)的的面向?qū)ο缶幊逃行┎顒e,這讓我一開始接觸的時候感到十分痛苦,但是這只能靠自己慢慢積累慢慢思考。想繼續(xù)了解設(shè)計模式必須要先搞懂面向?qū)ο缶幊?,否則只會讓你自己更痛苦。 JavaScript 中的構(gòu)造函數(shù) 學(xué)習(xí)總結(jié)。知識只有分享才有存在的意義。 是時候替換你的 for 循環(huán)大法了~ 《小分享》JavaScript中數(shù)組的那些迭代方法~ ...

    melody_lql 評論0 收藏0
  • JavasScript重難點(diǎn)知識

    摘要:忍者級別的函數(shù)操作對于什么是匿名函數(shù),這里就不做過多介紹了。我們需要知道的是,對于而言,匿名函數(shù)是一個很重要且具有邏輯性的特性。通常,匿名函數(shù)的使用情況是創(chuàng)建一個供以后使用的函數(shù)。 JS 中的遞歸 遞歸, 遞歸基礎(chǔ), 斐波那契數(shù)列, 使用遞歸方式深拷貝, 自定義事件添加 這一次,徹底弄懂 JavaScript 執(zhí)行機(jī)制 本文的目的就是要保證你徹底弄懂javascript的執(zhí)行機(jī)制,如果...

    forsigner 評論0 收藏0
  • 前端開發(fā)周報: CSS 布局方式與JavaScript數(shù)據(jù)結(jié)構(gòu)和算法

    摘要:如果沒有學(xué)習(xí)過計算機(jī)科學(xué)的程序員,當(dāng)我們在處理一些問題時,比較熟悉的數(shù)據(jù)結(jié)構(gòu)就是數(shù)組,數(shù)組無疑是一個很好的選擇。 showImg(https://segmentfault.com/img/bVTSjt?w=400&h=300); 1、常見 CSS 布局方式詳見: 一些常見的 CSS 布局方式梳理,涉及 Flex 布局、Grid 布局、圣杯布局、雙飛翼布局等。http://cherryb...

    huhud 評論0 收藏0
  • 前端開發(fā)周報: CSS 布局方式與JavaScript數(shù)據(jù)結(jié)構(gòu)和算法

    摘要:如果沒有學(xué)習(xí)過計算機(jī)科學(xué)的程序員,當(dāng)我們在處理一些問題時,比較熟悉的數(shù)據(jù)結(jié)構(gòu)就是數(shù)組,數(shù)組無疑是一個很好的選擇。 showImg(https://segmentfault.com/img/bVTSjt?w=400&h=300); 1、常見 CSS 布局方式詳見: 一些常見的 CSS 布局方式梳理,涉及 Flex 布局、Grid 布局、圣杯布局、雙飛翼布局等。http://cherryb...

    ?xiaoxiao, 評論0 收藏0

發(fā)表評論

0條評論

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