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

資訊專欄INFORMATION COLUMN

JavaScript面向?qū)ο缶幊獭狝rray類型

DirtyMind / 823人閱讀

摘要:中并沒(méi)有明確的數(shù)組數(shù)據(jù)類型。返回?cái)?shù)組對(duì)象的原始值。專門用于篩選出數(shù)組中符合函數(shù)判斷條件的元素組成的心數(shù)組。專門用于對(duì)原數(shù)組中每個(gè)元素執(zhí)行相同的函數(shù)對(duì)象規(guī)定的操作。

概述 一維數(shù)組

數(shù)組是一個(gè)有序的數(shù)據(jù)集合,可以通過(guò)數(shù)組名稱和索引進(jìn)行訪問(wèn)。JavaScript中并沒(méi)有明確的數(shù)組數(shù)據(jù)類型。

二維數(shù)組

數(shù)組是可以嵌套的,這就意味著一個(gè)數(shù)組可以作為一個(gè)袁旭被包含在另一個(gè)數(shù)組里面。利用JavaScript這個(gè)特點(diǎn),創(chuàng)建二維數(shù)組,即數(shù)組的數(shù)組。

數(shù)組的常見(jiàn)方法 檢測(cè)數(shù)組

如何確定當(dāng)前是一個(gè)數(shù)組,JavaScrpt提供了幾種方式;
1.typeof無(wú)法檢測(cè)數(shù)組對(duì)象:typeof[]返回object
2.instanceof:[]instanceof Array返回true/false
3.Object.prototype.toString.call([]):返回[objcet Array]
4.Array.prototype.isPrototypeOf([]):返回true/false
5.ES5中新方法:Array.isArray([]):返回true/false

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

console.log(arr instanceof Array);// true
/*
    Object.prototype.toString.call()方法
    * 作用 - 用于判斷當(dāng)前對(duì)象的(數(shù)據(jù))類型
    * 結(jié)果 - [object Array]
    * 特點(diǎn) - 可以準(zhǔn)確判斷出當(dāng)前變量的類型
 */
console.log(Object.prototype.toString.call(arr));

console.log(typeof null);// object
// console.log(null instanceof Null);// 報(bào)錯(cuò)
console.log(null instanceof Object);// false
console.log(Object.prototype.toString.call(null));
// Object.prototype.isPrototypeOf()方法 - 判斷指定類型是否出現(xiàn)在當(dāng)前對(duì)象的原型鏈中
console.log(Array.prototype.isPrototypeOf(arr));// true

console.log(Array.isArray(arr));// true
轉(zhuǎn)換方法

JavaScript中提供了兩種方法;
1.toString():把數(shù)組轉(zhuǎn)換為字符串,并且返回結(jié)果。
2.valueOf():返回?cái)?shù)組對(duì)象的原始值。

var arr = [1,2,3,4,5];
/*
    利用toString()方法將數(shù)組轉(zhuǎn)換為字符串
    * 結(jié)果 - 多個(gè)數(shù)組元素被逗號(hào)進(jìn)行分隔組成的字符串
 */
console.log(arr.toString());// 1,2,3,4,5

console.log(arr.valueOf());// [ 1, 2, 3, 4, 5 ]

var obj = {
    name : "張無(wú)忌"
}
console.log(obj.valueOf());// true
排序方法

JavaScript提供了兩種方法,用于數(shù)組的排序。
1.reverse():反轉(zhuǎn)數(shù)組的元素順序。
2.sort():對(duì)數(shù)組的元素進(jìn)行排序。
要注意reverse()和sort()方法的返回值是經(jīng)過(guò)排序之后的數(shù)組。

var arr = [3,1,2,3,4,5,10];

// console.log(arr.reverse());// [ 5, 4, 3, 2, 1 ]
/*
    Array.sort()方法
    * 作用 - 對(duì)數(shù)組中的元素進(jìn)行排序
    * 注意
      * 并不是從小到達(dá)的排序
      * 影響原有數(shù)組元素的順序
 */
// var result = arr.sort();
// console.log(result);
// console.log(arr);

var result = arr.sort(function(a,b){
    /*if (a < b) {
        return 1;
    }*/
    if (a > b) {
        return 1;
    }
})
console.log(arr);
console.log(result);
連接方法

連接方法一般用于多個(gè)數(shù)組之間的連接操作,在JavaScript中提供了:
concat()方法,連接兩個(gè)或更多的數(shù)組,并返回結(jié)果。

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

console.log(arr.concat(6));
console.log(arr.concat([7,8,9]));
操作方法

操作方法就是用于數(shù)組的刪除、插入和替換。在JavaScript中提供了兩種方法。
1.slice():選取數(shù)組的一部分,并返回一個(gè)新數(shù)組。
2.splice():從數(shù)組中你那個(gè)添加或刪除元素。

var arr = [1,2,3,4,5];
/*
    splice(start, deleteCount)方法
    * 作用 - 用于刪除當(dāng)前數(shù)組中指定位置指定個(gè)數(shù)的元素
    * 參數(shù)
      * start - 表示刪除的開(kāi)始位置
      * deleteCount - 表示刪除的個(gè)數(shù)
    * 返回值 - 將刪除的元素組成的新數(shù)組進(jìn)行返回
 */
// var result = arr.splice(0, 5);
// console.log(result);
// console.log(arr);

/*
    splice(start, deleteCount, item1, item2, ...)方法
    * 作用 - 向指定數(shù)組的指定位置添加元素
    * 參數(shù)
      * start - 表示刪除的開(kāi)始位置
      * deleteCount - 表示刪除的個(gè)數(shù)
      * item1, item2, ... - 表示向數(shù)組添加的元素
    * 返回值 - 將刪除的元素組成的新數(shù)組進(jìn)行返回
 */
// var result = arr.splice(0, 0, 6,7,8);
// console.log(result);
// console.log(arr);

// var result = arr.splice(0, 3, 6,7,8);
// console.log(result);
// console.log(arr);

/*
    slice()方法
    * 作用 - 截取指定數(shù)組中的元素
    * 參數(shù)
      * begin - 表示開(kāi)始截取的位置(從 0 開(kāi)始)
      * end - 表示結(jié)束截取的位置(截取最后一個(gè)位置的下一個(gè)位置)
    * 返回值 - 返回截取的元素組成的新數(shù)組
 */
var result = arr.slice(2,3);
console.log(result);
位置方法

位置方法用于獲取數(shù)組中指定元素的索引值,在JavaScript中提供了兩種方法。
1.indexOf()搜索數(shù)組中的元素,并返回他所在的位置。
2.lastlndexOf()返回一個(gè)指定的字符串值最后出現(xiàn)的位置,在一個(gè)字符串中的指定位置從后向前搜索。

var arr = ["張無(wú)忌","周芷若","張無(wú)忌","趙敏","小昭"];
/*
    indexOf()和lastIndexOf()方法
    * 用于檢索數(shù)組中是否包含指定元素內(nèi)容 -> 返回元素所在的位置
      * indexOf() - 從左至右的順序進(jìn)行檢索
      * lastIndexOf() - 從右至左的順序進(jìn)行檢索
    * 返回第一個(gè)匹配元素的位置信息
    * 如果檢索的元素并不在指定的數(shù)組中時(shí) -> 結(jié)果為 -1
 */
console.log(arr.indexOf("張無(wú)忌"));// 0
console.log(arr.lastIndexOf("張無(wú)忌"));// 2
console.log(arr.indexOf("滅絕師太"));//
迭代與歸并方法 迭代方法

JavaScript提供了如下方法,用于數(shù)組的迭代遍歷:
1.every():判斷數(shù)組中每個(gè)元素是否都滿足fun函數(shù)定義的條件。只有滿足才返回true,否則返回false。
2.filter():專門用于篩選出數(shù)組中符合fun函數(shù)判斷條件的元素組成的心數(shù)組。
3.forEach():專門用于對(duì)原數(shù)組中每個(gè)元素執(zhí)行相同的fun函數(shù)對(duì)象規(guī)定的操作。
4.map():專門用于基于袁術(shù)組創(chuàng)建新數(shù)組對(duì)象。
5.some():判斷數(shù)組中是否包含滿足fun含糊是定義的條件的元素,只要包含就返回true,否則返回false。

var arr = ["張無(wú)忌","周芷若","趙敏","小昭"];
/*
    Array.prototype.forEach()方法
    * 作用 - 用于遍歷指定數(shù)組
    * 參數(shù)
      * callback - 表示回調(diào)函數(shù)
        * currentValue - 表示遍歷數(shù)組得到每個(gè)元素
        * index - 表示遍歷數(shù)組得到每個(gè)元素對(duì)應(yīng)的索引值
        * array - 表示遍歷的數(shù)組
    *
 */
arr.forEach(function(currentValue, index, array){
    console.log(array);
});

/* 為Array類型新增forEach()方法
Object.defineProperty(Array.prototype, "forEach", {
    value : function(callback){
        // 假設(shè)得到當(dāng)前的數(shù)組
        for (var i=0; i
歸并方法

歸并方法用于數(shù)組的迭代歸并,JavaScript中提供了兩種方式
1.reduce()將數(shù)組從左向右迭代。
2.reduceRight()將數(shù)組從右向左迭代.

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

arr.reduce(function(accumulator, currentValue, currentIndex, array){
    console.log(accumulator)
    return accumulator + currentValue;
});

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

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

相關(guān)文章

  • JavaScript中的面向對(duì)象(object-oriented)編程

    摘要:對(duì)象在中,除了數(shù)字字符串布爾值這幾個(gè)簡(jiǎn)單類型外,其他的都是對(duì)象。那么在函數(shù)對(duì)象中,這兩個(gè)屬性的有什么區(qū)別呢表示該函數(shù)對(duì)象的原型表示使用來(lái)執(zhí)行該函數(shù)時(shí)這種函數(shù)一般成為構(gòu)造函數(shù),后面會(huì)講解,新創(chuàng)建的對(duì)象的原型。這時(shí)的函數(shù)通常稱為構(gòu)造函數(shù)。。 本文原發(fā)于我的個(gè)人博客,經(jīng)多次修改后發(fā)到sf上。本文仍在不斷修改中,最新版請(qǐng)?jiān)L問(wèn)個(gè)人博客。 最近工作一直在用nodejs做開(kāi)發(fā),有了nodejs,...

    JerryZou 評(píng)論0 收藏0
  • 詳解js面向對(duì)象編程

    摘要:看下面一個(gè)例子優(yōu)點(diǎn)使用構(gòu)造器函數(shù)的好處在于,它可以在創(chuàng)建對(duì)象時(shí)接收一些參數(shù)。按照慣例,構(gòu)造函數(shù)的函數(shù)名應(yīng)始終以一個(gè)大寫(xiě)字母開(kāi)頭,以區(qū)分普通函數(shù)。返回該對(duì)象的源代碼。使您有能力向?qū)ο筇砑訉傩院头椒ā? 基本概念 ECMA關(guān)于對(duì)象的定義是:無(wú)序?qū)傩缘募?,其屬性可以包含基本值、?duì)象或者函數(shù)。對(duì)象的每個(gè)屬性或方法都有一個(gè)名字,而每個(gè)名字都映射到一個(gè)值。 類 在現(xiàn)實(shí)生活中,相似的對(duì)象之間往往都有...

    lolomaco 評(píng)論0 收藏0
  • JavaScript深入淺出

    摘要:理解的函數(shù)基礎(chǔ)要搞好深入淺出原型使用原型模型,雖然這經(jīng)常被當(dāng)作缺點(diǎn)提及,但是只要善于運(yùn)用,其實(shí)基于原型的繼承模型比傳統(tǒng)的類繼承還要強(qiáng)大。中文指南基本操作指南二繼續(xù)熟悉的幾對(duì)方法,包括,,。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。 怎樣使用 this 因?yàn)楸救藢儆趥吻岸?,因此文中只看懂?8 成左右,希望能夠給大家?guī)?lái)幫助....(據(jù)說(shuō)是阿里的前端妹子寫(xiě)的) this 的值到底...

    blair 評(píng)論0 收藏0
  • JavaScript 面向對(duì)象開(kāi)發(fā)知識(shí)總結(jié)基礎(chǔ)篇

    摘要:字面形式允許你在不需要使用操作符和構(gòu)造函數(shù)顯式創(chuàng)建對(duì)象的情況下生成引用值。操作符以一個(gè)對(duì)象和一個(gè)構(gòu)造函數(shù)作為參數(shù)鑒別數(shù)組有前一小結(jié)可以知道鑒別數(shù)組類型可以使用。屬性是函數(shù)獨(dú)有的,表明該對(duì)象可以被執(zhí)行。這種函數(shù)被稱為匿名函數(shù)。 引子: 1.JavaScript 中的變量類型和類型檢測(cè) 1.1原始類型 1.2引用類型 1.3內(nèi)建類型的實(shí)例化 1.4函數(shù)的字面形式 1.5正則表達(dá)式的字...

    Kross 評(píng)論0 收藏0
  • 函數(shù)式編程面向對(duì)象編程[2]: 靜態(tài)類型語(yǔ)言的表達(dá)力 靜態(tài)類型語(yǔ)言與動(dòng)態(tài)類型語(yǔ)言

    摘要:動(dòng)態(tài)類型語(yǔ)言的表達(dá)力動(dòng)態(tài)語(yǔ)言通常更方便開(kāi)發(fā)較小的項(xiàng)目,因?yàn)榭梢詿o(wú)需聲明類型而節(jié)省了很多麻煩。 函數(shù)式編程與面向?qū)ο缶幊蘙2]: 靜態(tài)類型語(yǔ)言的表達(dá)力 靜態(tài)類型語(yǔ)言與動(dòng)態(tài)類型語(yǔ)言 之劍 2016.5.3 21:43:20 像Java或者C#這樣強(qiáng)類型的準(zhǔn)靜態(tài)語(yǔ)言在實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)邏輯、開(kāi)發(fā)大型商業(yè)系統(tǒng)、以及那些生命周期很長(zhǎng)的應(yīng)用中也有著非常強(qiáng)的優(yōu)勢(shì) 下面我們就來(lái)學(xué)習(xí)一下這些知識(shí). 有三...

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

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

0條評(píng)論

DirtyMind

|高級(jí)講師

TA的文章

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