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

資訊專(zhuān)欄INFORMATION COLUMN

JS對(duì)象 - Array屬性方法匯總

RancherLabs / 354人閱讀

摘要:屬性名描述為對(duì)象添加屬性方法返回?cái)?shù)組對(duì)象引用返回?cái)?shù)組元素?cái)?shù)目方法名描述返回更改原數(shù)組連接多個(gè)數(shù)組連接后新數(shù)組將數(shù)組中所有元素合為一個(gè)字符串。

屬性名 描述
prototype 為對(duì)象添加屬性、方法
constructor 返回?cái)?shù)組對(duì)象引用
length 返回?cái)?shù)組元素?cái)?shù)目
方法名 描述 返回 更改原數(shù)組
concat() 連接多個(gè)數(shù)組 連接后新數(shù)組 N
join("") 將數(shù)組中所有元素合為一個(gè)字符串。按分隔符劃分 合并后新數(shù)組 N
toString() 數(shù)組轉(zhuǎn)換為字符串( 與無(wú)參join相同,逗號(hào)連接) 轉(zhuǎn)換后字符串 N
pop() 刪除數(shù)組最后一個(gè)元素(棧頂) 刪除的元素值 Y
push() 向數(shù)組的末尾添加一個(gè)/多個(gè)元素 新數(shù)組長(zhǎng)度 Y
shift() 刪除數(shù)組第一個(gè)元素 刪除的元素值 Y
unshift() 向數(shù)組的開(kāi)頭添加一個(gè)/多個(gè)元素 新數(shù)組長(zhǎng)度 Y
reverse() 顛倒數(shù)組中元素的順序 倒序后數(shù)組 Y
slice(start,end) 截取從start到end子數(shù)組(end省略為數(shù)組末尾) 截取子數(shù)組 N
splice() (start,length,item1,item2,...)刪除元素并添加新元素 刪除子數(shù)組 Y
sort() 對(duì)數(shù)組的元素進(jìn)行排序(可自定規(guī)律) 排序后數(shù)組 Y
valueOf() 返回 Array 對(duì)象的原始值 Array對(duì)象 N
indexOf() 返回元素在數(shù)組中首次出現(xiàn)的位置(嚴(yán)格匹配===) 下標(biāo)/-1 N
創(chuàng)建 Array 對(duì)象
new Array();
new Array(size);
new Array(element0, element1, ..., elementn);
var arr = []; //字面量方式

經(jīng)測(cè)試用字面量方式跟new Array()耗時(shí)差不多,使用習(xí)慣的差距吧~ new Array()能初始化長(zhǎng)度~

屬性

prototype 向?qū)ο筇砑訉傩院头椒?/p>

function em(A,B)
{
    this.A = A;
    this.B = B;
}
var e = new em("AA","BB");
em.prototype.C = null;
e.C = 20000;
console.log(e.C); //20000
console.log(e); //em {A:"AA" , B:"BB" , C : 20000 }

constructor 返回對(duì)創(chuàng)建此對(duì)象的數(shù)組函數(shù)的引用

function employee(name,job)
{
    this.name = name;
    this.job = job;
}
var bill = new employee("Bill");
console.log(typeof bill.constructor); // function
console.log(bill.constructor); //function employee(name){this.name=name;this.job=job;}
方法

concat() 連接兩個(gè)或更多的數(shù)組(返回被連接數(shù)組的副本)

var arr = [1, 2, 3];
var arr1 = [6, 7];
console.log(arr.concat(4, 5, arr1)); //[1, 2, 3, 4, 5, 6, 7]

join() 把數(shù)組的所有元素放入一個(gè)字符串,元素通過(guò)指定的分隔符分隔。

var arr = ["item 1", "item 2", "item 3"];
var list = "
  • " + arr.join("
  • ") + "
"; //"
  • item 1
  • item 2
  • item 3
"

toString() 數(shù)組轉(zhuǎn)換為字符串(與無(wú)參的 join()方法返回的串相同)

var arr = new Array(3)
arr[0] = "A"
arr[1] = "B"
arr[2] = "C"
console.log(arr.toString()); //"A,B,C"

pop() 刪除數(shù)組的最后一個(gè)元素,數(shù)組長(zhǎng)度減 1,并返回被刪除的元素的值

若數(shù)組為空,則pop()返回undefined值

var arr = ["A", "B", "C"];
console.log(arr); //["A", "B", "C"]
console.log(arr.pop()); //"C"
console.log(arr); //["A", "B"]

push() 向數(shù)組的末尾添加一個(gè)或更多元素,并返回新的長(zhǎng)度

var arr = ["A", "B", "C"];
console.log(arr); //["A", "B", "C"]
console.log(arr.push("D")); //4
console.log(arr); ////["A", "B", "C" , "D"]

reverse() 顛倒數(shù)組中元素的順序

var arr = ["A", "B", "C"];
arr.reverse();
console.log(arr);// ["C", "B", "A"]

slice(start,end) 從數(shù)組中返回選定的子數(shù)組

var arr = ["A", "B", "C"];
// 從第一個(gè)元素開(kāi)始截取到數(shù)組結(jié)尾
console.log(arr.slice(1)); //["B", "C"]
console.log(arr); //["A", "B", "C"]

splice() 刪除元素,并向數(shù)組添加新元素
(直接對(duì)數(shù)組操作)

① 刪除指定范圍的數(shù)組元素:

var arr = new Array(6);
    arr[0] = "A"; 
    arr[1] = "B";
    arr[2] = "C";
    arr[3] = "D";
    arr[4] = "E";
    arr[5] = "F";
console.log(arr); //["A", "B", "C", "D", "E", "F"]
// 刪除第三個(gè)元素以后的三個(gè)數(shù)組元素(包含第三個(gè)元素)
console.log(arr.splice(2, 3));  //["C", "D", "E"]
console.log(arr); //["A", "B", "F"]

② 從指定下標(biāo)開(kāi)始插入指定元素(元素個(gè)數(shù)不限):

    var arr = new Array(6);
    arr[0] = "A"; 
    arr[1] = "B";
    arr[2] = "C";
    arr[3] = "D";
    arr[4] = "E";
    arr[5] = "F";
console.log(arr); //["A", "B", "C", "D", "E", "F"]
console.log(arr.splice(2, 0, "AA","BB")); // []
console.log(arr);//["A", "B", "AA" , "BB" , "C", "D", "E", "F"]

③ 刪除指定范圍的數(shù)組元素,并用指定元素替換(元素個(gè)數(shù)不限):

var arr = new Array(6);
    arr[0] = "A"; 
    arr[1] = "B";
    arr[2] = "C";
    arr[3] = "D";
    arr[4] = "E";
    arr[5] = "F";
console.log(arr);//["A", "B", "C", "D", "E", "F"]
console.log(arr.splice(2, 1, "AA","BB")); // ["C"]
console.log(arr); //["A", "B", "AA", "BB", "D", "E", "F"]

sort() 對(duì)數(shù)組的元素進(jìn)行排序
對(duì)數(shù)組的引用

數(shù)組在原數(shù)組上進(jìn)行排序,不生成副本。該方法默認(rèn)是按照字符編碼(ASCII)的順序進(jìn)行排序的

var arr = new Array(3);
    arr[0] = "D";
    arr[1] = "S";
    arr[2] = "A";
console.log(arr); //["D", "S", "A"]
console.log(arr.sort()); //["A", "D", "S"]

自行指定排序規(guī)則。如下:

var arr = new Array(6);
    arr[0] = 10;
    arr[1] = 5;
    arr[2] = 40;
    arr[3] = 25;
    arr[4] = 1000;
    arr[5] = 1;
console.log(arr); //[10, 5, 40, 25, 1000, 1]
//升序
console.log(arr.sort(function (a, b) {return a - b;}));// [1, 5, 10, 25, 40, 1000]

valueOf() 返回相應(yīng)的原始值

var arr = new Array(2);
    arr[0] = 10
    arr[1] = 5
console.log(arr); //[10, 5]
console.log(typeof arr.valueOf()); //object
console.log(arr.valueOf()); //[10, 5]

shift() 刪除并返回?cái)?shù)組的第一個(gè)元素

var arr = ["A", "B", "C"];
console.log(arr); //["A", "B", "C"]
console.log(arr.shift()); //A
console.log(arr); //["B", "C"]

unshift() 向數(shù)組的開(kāi)頭添加一個(gè)或更多元素,并返回新的長(zhǎng)度

var arr = ["A", "B", "C"];
console.log(arr); //["A", "B", "C"]
console.log(arr.unshift("AA")); //4
console.log(arr);//["AA", "A", "B", "C"]

indexOf() 返回元素在數(shù)組中出現(xiàn)位置

額 之前一直以為只有string有這個(gè)方法... 補(bǔ)上補(bǔ)上

var arr = ["orange", "2016", undefined , null ,NaN];
console.log(arr.indexOf("orange")); //0
console.log(arr.indexOf("o")); //-1
console.log(arr.indexOf("2016"));  //1
console.log(arr.indexOf(2016));  //-1
console.log(arr.indexOf("undefined"));  //-1
console.log(arr.indexOf(null));  //3
console.log(arr.indexOf(NaN));  //-1

以上只是為了論證這里的indexOf使用的是嚴(yán)格匹配(===),不會(huì)像string的indexOf一樣隱式轉(zhuǎn)換成字符串進(jìn)行匹配~

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

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

相關(guān)文章

  • 四月份面試題匯總(一)

    摘要:即構(gòu)造器的原型對(duì)象即構(gòu)造器的原型對(duì)象和的關(guān)系是每個(gè)對(duì)象都有的一個(gè)屬性,而是函數(shù)才會(huì)有的屬性。不可以使用對(duì)象,不存在,可以使用代替。在開(kāi)發(fā)過(guò)程中,需要保證某個(gè)元素的在其同級(jí)元素中具有唯一性。 1.理解原型、原型鏈? 每創(chuàng)建一個(gè)函數(shù),函數(shù)上都有一個(gè)prototype的屬性,他是一個(gè)對(duì)象。這個(gè)對(duì)象的作用就是當(dāng)使用它創(chuàng)建實(shí)例的時(shí)候,這些實(shí)例都會(huì)共享原型上的屬性和方法。當(dāng)我們?cè)L問(wèn)對(duì)象中的某個(gè)屬性...

    高勝山 評(píng)論0 收藏0
  • 前端實(shí)習(xí)面試匯總

    摘要:題目來(lái)源前端實(shí)習(xí)生面試總結(jié)最近開(kāi)始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄下來(lái)進(jìn)行一個(gè)總結(jié),同樣也希望對(duì)正在準(zhǔn)備面實(shí)習(xí)生的童鞋們有所幫助最后一個(gè)參數(shù)是做什么用的答規(guī)定事件是冒泡還是捕獲。 最近一直在多看基礎(chǔ)的書(shū)多碼代碼準(zhǔn)備找實(shí)習(xí),在網(wǎng)上也搜羅了不少面經(jīng),現(xiàn)在把搜羅到的實(shí)習(xí)生面試題自己整理一下。 題目來(lái)源:前端實(shí)習(xí)生面試總結(jié)最近開(kāi)始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄...

    張利勇 評(píng)論0 收藏0
  • 前端實(shí)習(xí)面試匯總

    摘要:題目來(lái)源前端實(shí)習(xí)生面試總結(jié)最近開(kāi)始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄下來(lái)進(jìn)行一個(gè)總結(jié),同樣也希望對(duì)正在準(zhǔn)備面實(shí)習(xí)生的童鞋們有所幫助最后一個(gè)參數(shù)是做什么用的答規(guī)定事件是冒泡還是捕獲。 最近一直在多看基礎(chǔ)的書(shū)多碼代碼準(zhǔn)備找實(shí)習(xí),在網(wǎng)上也搜羅了不少面經(jīng),現(xiàn)在把搜羅到的實(shí)習(xí)生面試題自己整理一下。 題目來(lái)源:前端實(shí)習(xí)生面試總結(jié)最近開(kāi)始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄...

    wangzy2019 評(píng)論0 收藏0
  • 前端實(shí)習(xí)面試匯總

    摘要:題目來(lái)源前端實(shí)習(xí)生面試總結(jié)最近開(kāi)始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄下來(lái)進(jìn)行一個(gè)總結(jié),同樣也希望對(duì)正在準(zhǔn)備面實(shí)習(xí)生的童鞋們有所幫助最后一個(gè)參數(shù)是做什么用的答規(guī)定事件是冒泡還是捕獲。 最近一直在多看基礎(chǔ)的書(shū)多碼代碼準(zhǔn)備找實(shí)習(xí),在網(wǎng)上也搜羅了不少面經(jīng),現(xiàn)在把搜羅到的實(shí)習(xí)生面試題自己整理一下。 題目來(lái)源:前端實(shí)習(xí)生面試總結(jié)最近開(kāi)始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄...

    NicolasHe 評(píng)論0 收藏0

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

0條評(píng)論

RancherLabs

|高級(jí)講師

TA的文章

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