摘要:一維數(shù)組數(shù)組是按次序排列的一組值。每個(gè)值的位置都有編號(hào)從開(kāi)始,整個(gè)數(shù)組用方括號(hào)表示。方法用于顛倒排列數(shù)組元素,返回改變后的數(shù)組該方法將改變?cè)瓟?shù)組。方法對(duì)數(shù)組成員進(jìn)行排序,默認(rèn)是按照字典順序排序。
一維數(shù)組
數(shù)組(array)是按次序排列的一組值。每個(gè)值的位置都有編號(hào)(從0開(kāi)始),整個(gè)數(shù)組用方括號(hào)表示。
var arr = ["a", "b", "c"];
創(chuàng)建數(shù)組的方式
var arr = new Array(1,2,3);
var arr = Array(1,2,3);
var = [1,2,3];二維數(shù)組
數(shù)組可以嵌套 一個(gè)數(shù)組可以作為一個(gè)元素被包含在另外一個(gè)數(shù)組里面 這就是二維數(shù)組
var arr=[[1,2,3],[4,5,6],[7,8,9]]
檢測(cè)數(shù)組的方法
console.log(arr instanceof Array); console.log(Object.prototype.toString.call(arr)); console.log(Array.isArray(arr));
轉(zhuǎn)換方法
toString
把數(shù)組轉(zhuǎn)換為字符串 并返回結(jié)果
var arr=[1,2,3,4,5]; console.log(arr.toString()) //1,2,3,4,5
valueOf
返回 Boolean 對(duì)象的原始值
var arr=[1,2,3,4,5]; console.log(arr.valueOf()) // [1,2,3,4,5]數(shù)組的一些方法
push
push方法用于在數(shù)組的末端添加一個(gè)或多個(gè)元素,并返回添加新元素后的數(shù)組長(zhǎng)度 該方法會(huì)改變?cè)瓟?shù)組
var arr = []; arr.push(1) // 1 --->數(shù)組長(zhǎng)度 arr.push("a") // 2 arr.push(true, {}) // 4 arr // [1, "a", true, {}]
pop
pop方法用于刪除數(shù)組的最后一個(gè)元素,并返回該元素 該方法會(huì)改變?cè)瓟?shù)組
對(duì)空數(shù)組使用pop方法,不會(huì)報(bào)錯(cuò),而是返回undefined
var arr = ["a", "b", "c"]; arr.pop() // "c" arr // ["a", "b"]
shift
shift方法用于刪除數(shù)組的第一個(gè)元素,并返回該元素 該方法會(huì)改變?cè)瓟?shù)組
var a = ["a", "b", "c"]; a.shift() // "a" a // ["b", "c"]
unshift
unshift方法用于在數(shù)組的第一個(gè)位置添加元素,并返回添加新元素后的數(shù)組長(zhǎng)度 該方法會(huì)改變?cè)瓟?shù)組
var a = ["a", "b", "c"]; a.unshift("x"); // 4 a // ["x", "a", "b", "c"]
unshift方法可以接受多個(gè)參數(shù),這些參數(shù)都會(huì)添加到目標(biāo)數(shù)組頭部。
var arr = [ "c", "d" ]; arr.unshift("a", "b") // 4 arr // [ "a", "b", "c", "d" ]
reverse
reverse方法用于顛倒排列數(shù)組元素,返回改變后的數(shù)組 該方法將改變?cè)瓟?shù)組。
var a = ["a", "b", "c"]; a.reverse() // ["c", "b", "a"] a // ["c", "b", "a"]
sort
sort方法對(duì)數(shù)組成員進(jìn)行排序,默認(rèn)是按照字典順序排序。排序后,原數(shù)組將被改變
sort方法不是按照大小排序,而是按照Unicode順序 即數(shù)值會(huì)被先轉(zhuǎn)成字符串,再按照Unicode順序進(jìn)行比較,所以101排在11的前面。
[11, 101].sort() // [101, 11]
如果想讓sort方法按照自定義方式排序,可以傳入一個(gè)函數(shù)作為參數(shù)。
[10111,1101,111].sort(function(a,b){ return a-b; }) //[111, 1101, 10111]
concat
concat方法用于多個(gè)數(shù)組的合并 它將新數(shù)組的成員,添加到原數(shù)組成員的后部,然后返回一個(gè)新數(shù)組,原數(shù)組不變。
["hello"].concat(["world"]) // ["hello", "world"]
slice
slice方法用于提取目標(biāo)數(shù)組的一部分,返回一個(gè)新數(shù)組,原數(shù)組不變。
arr.slice(start, end);
它的第一個(gè)參數(shù)為起始位置(從0開(kāi)始),第二個(gè)參數(shù)為終止位置(但該位置的元素本身不包括在內(nèi))。如果省略第二個(gè)參數(shù),則一直返回到原數(shù)組的最后一個(gè)成員。
var a = ["a", "b", "c"]; a.slice(0) // ["a", "b", "c"] a.slice(1) // ["b", "c"] a.slice(1, 2) // ["b"]
如果slice方法的參數(shù)是負(fù)數(shù),則表示倒數(shù)計(jì)算的位置。
var a = ["a", "b", "c"]; a.slice(-2) // ["b", "c"] a.slice(-2, -1) // ["b"]
-2表示倒數(shù)計(jì)算的第二個(gè)位置,-1表示倒數(shù)計(jì)算的第一個(gè)位置。
如果第一個(gè)參數(shù)大于等于數(shù)組長(zhǎng)度,或者第二個(gè)參數(shù)小于第一個(gè)參數(shù),則返回空數(shù)組
splice
splice方法用于刪除原數(shù)組的一部分成員,并可以在刪除的位置添加新的數(shù)組成員,返回值是被刪除的元素。該方法會(huì)改變?cè)瓟?shù)組
splice的第一個(gè)參數(shù)是刪除的起始位置(從0開(kāi)始),第二個(gè)參數(shù)是被刪除的元素個(gè)數(shù)。如果后面還有更多的參數(shù),則表示這些就是要被插入數(shù)組的新元素
var a = ["a", "b", "c", "d", "e", "f"]; a.splice(4, 2) // ["e", "f"]
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/108381.html
摘要:本章節(jié)在此基礎(chǔ)上,對(duì)語(yǔ)言階段指針進(jìn)行更深層次的研究。數(shù)組指針的類(lèi)型由數(shù)組類(lèi)型決定,先找出數(shù)組的類(lèi)型去掉名就是類(lèi)型。相當(dāng)于數(shù)組指針?biāo)赶驍?shù)組的數(shù)組名。數(shù)組指針指向整個(gè)數(shù)組,將其看作二維數(shù)組并解引用得到一行的首元素,從而遍歷訪問(wèn)。 ...
摘要:數(shù)組有以下特點(diǎn)無(wú)類(lèi)型數(shù)組元素可以是任意元素。因此,當(dāng)小于數(shù)組最大索引時(shí),大于的數(shù)組元素會(huì)被刪除。原數(shù)組不會(huì)改變將數(shù)組元素轉(zhuǎn)換為字符串并連接在一起。默認(rèn)將數(shù)組元素用,連接,傳入的參數(shù)即為連接符。 showImg(https://box.worktile.com/view/fcfcdf2c99b14edfb6768085955ae253?pid=4b0845b09ca94218a955f8...
摘要:為了維持此規(guī)則不變化,數(shù)組有兩個(gè)特殊的行為。運(yùn)算符對(duì)數(shù)組返回并且對(duì)于除了函數(shù)以外的所有對(duì)象都是如此。解決方案是檢查對(duì)象的類(lèi)屬性,對(duì)數(shù)組而言該屬 數(shù)組 數(shù)組是值的有序集合。每個(gè)值叫做一個(gè)元素,而每個(gè)元素在數(shù)組中有一個(gè)位置,以數(shù)字表示,稱(chēng)為索引。 JavaScript 數(shù)組是無(wú)類(lèi)型的,數(shù)組元素可以是任意類(lèi)型,并且同一個(gè)數(shù)組中的不同元素也可能有不同的類(lèi)型。數(shù)組的元素甚至也可能是對(duì)象或其他數(shù)組...
摘要:與稀疏數(shù)組對(duì)立的為密集數(shù)組,密集數(shù)組的索引會(huì)被持續(xù)的創(chuàng)建,并且其元素的數(shù)量等于其長(zhǎng)度。創(chuàng)建一個(gè)長(zhǎng)度為的數(shù)組,并初始化了個(gè)元素使用構(gòu)造函數(shù)創(chuàng)建數(shù)組對(duì)象的時(shí)候,關(guān)鍵字是可以省略的。另外使用和刪除元素是影響數(shù)組的長(zhǎng)度的。 說(shuō)明:本文只總結(jié)了JavaScript數(shù)組在web端的行為,不包括NodeJs端的行為。本文不涉及類(lèi)型化數(shù)組(TypedArray)的討論、總結(jié)。 一、什么是數(shù)組 數(shù)組的定...
摘要:知識(shí)體系梳理流程圖一維數(shù)組數(shù)組概述數(shù)組是指一組數(shù)據(jù)的集合,數(shù)組中的每個(gè)數(shù)據(jù)被稱(chēng)作元素。定義打印數(shù)組元素方法按照給定的格式打印題目分析通過(guò)觀察發(fā)現(xiàn),要實(shí)現(xiàn)按照指定格式,打印數(shù)組元素操作。按照這種方式,數(shù)組循環(huán)多圈以后,就完成了數(shù)組元素的排序。 知識(shí)體系梳理流程圖 showImg(https://segmentfault.com/img/bVXwAi?w=902&h=652); 一維數(shù)組 ...
摘要:數(shù)組是數(shù)據(jù)的有序列表,與其他語(yǔ)言不同的是,數(shù)組的每一項(xiàng)可以保存任何類(lèi)型的數(shù)據(jù)。如下的代碼創(chuàng)建的就是一個(gè)密集數(shù)組稀疏數(shù)組與密集數(shù)組相反,并不強(qiáng)制要求數(shù)組元素是緊密相連的,即允許間隙的存在。 數(shù)組是數(shù)據(jù)的有序列表,與其他語(yǔ)言不同的是,ECMAScript 數(shù)組的每一項(xiàng)可以保存任何類(lèi)型的數(shù)據(jù)。也就是說(shuō),可以用數(shù)組的第一個(gè)位置來(lái)保存字符串,用第二位置來(lái)保存數(shù)值,用第三個(gè)位置來(lái)保存對(duì)象, 以此類(lèi)...
閱讀 1681·2019-08-30 12:51
閱讀 669·2019-08-29 17:30
閱讀 3706·2019-08-29 15:17
閱讀 861·2019-08-28 18:10
閱讀 1373·2019-08-26 17:08
閱讀 2184·2019-08-26 12:16
閱讀 3445·2019-08-26 11:47
閱讀 3510·2019-08-23 16:18