摘要:中并沒有明確的數組數據類型。返回數組對象的原始值。專門用于篩選出數組中符合函數判斷條件的元素組成的心數組。專門用于對原數組中每個元素執行相同的函數對象規定的操作。
概述 一維數組
數組是一個有序的數據集合,可以通過數組名稱和索引進行訪問。JavaScript中并沒有明確的數組數據類型。
二維數組數組是可以嵌套的,這就意味著一個數組可以作為一個袁旭被包含在另一個數組里面。利用JavaScript這個特點,創建二維數組,即數組的數組。
數組的常見方法 檢測數組如何確定當前是一個數組,JavaScrpt提供了幾種方式;
1.typeof無法檢測數組對象: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()方法 * 作用 - 用于判斷當前對象的(數據)類型 * 結果 - [object Array] * 特點 - 可以準確判斷出當前變量的類型 */ console.log(Object.prototype.toString.call(arr)); console.log(typeof null);// object // console.log(null instanceof Null);// 報錯 console.log(null instanceof Object);// false console.log(Object.prototype.toString.call(null)); // Object.prototype.isPrototypeOf()方法 - 判斷指定類型是否出現在當前對象的原型鏈中 console.log(Array.prototype.isPrototypeOf(arr));// true console.log(Array.isArray(arr));// true轉換方法
JavaScript中提供了兩種方法;
1.toString():把數組轉換為字符串,并且返回結果。
2.valueOf():返回數組對象的原始值。
var arr = [1,2,3,4,5]; /* 利用toString()方法將數組轉換為字符串 * 結果 - 多個數組元素被逗號進行分隔組成的字符串 */ console.log(arr.toString());// 1,2,3,4,5 console.log(arr.valueOf());// [ 1, 2, 3, 4, 5 ] var obj = { name : "張無忌" } console.log(obj.valueOf());// true排序方法
JavaScript提供了兩種方法,用于數組的排序。
1.reverse():反轉數組的元素順序。
2.sort():對數組的元素進行排序。
要注意reverse()和sort()方法的返回值是經過排序之后的數組。
var arr = [3,1,2,3,4,5,10]; // console.log(arr.reverse());// [ 5, 4, 3, 2, 1 ] /* Array.sort()方法 * 作用 - 對數組中的元素進行排序 * 注意 * 并不是從小到達的排序 * 影響原有數組元素的順序 */ // 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);連接方法
連接方法一般用于多個數組之間的連接操作,在JavaScript中提供了:
concat()方法,連接兩個或更多的數組,并返回結果。
var arr = [1,2,3,4,5]; console.log(arr.concat(6)); console.log(arr.concat([7,8,9]));操作方法
操作方法就是用于數組的刪除、插入和替換。在JavaScript中提供了兩種方法。
1.slice():選取數組的一部分,并返回一個新數組。
2.splice():從數組中你那個添加或刪除元素。
var arr = [1,2,3,4,5]; /* splice(start, deleteCount)方法 * 作用 - 用于刪除當前數組中指定位置指定個數的元素 * 參數 * start - 表示刪除的開始位置 * deleteCount - 表示刪除的個數 * 返回值 - 將刪除的元素組成的新數組進行返回 */ // var result = arr.splice(0, 5); // console.log(result); // console.log(arr); /* splice(start, deleteCount, item1, item2, ...)方法 * 作用 - 向指定數組的指定位置添加元素 * 參數 * start - 表示刪除的開始位置 * deleteCount - 表示刪除的個數 * item1, item2, ... - 表示向數組添加的元素 * 返回值 - 將刪除的元素組成的新數組進行返回 */ // 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()方法 * 作用 - 截取指定數組中的元素 * 參數 * begin - 表示開始截取的位置(從 0 開始) * end - 表示結束截取的位置(截取最后一個位置的下一個位置) * 返回值 - 返回截取的元素組成的新數組 */ var result = arr.slice(2,3); console.log(result);位置方法
位置方法用于獲取數組中指定元素的索引值,在JavaScript中提供了兩種方法。
1.indexOf()搜索數組中的元素,并返回他所在的位置。
2.lastlndexOf()返回一個指定的字符串值最后出現的位置,在一個字符串中的指定位置從后向前搜索。
var arr = ["張無忌","周芷若","張無忌","趙敏","小昭"]; /* indexOf()和lastIndexOf()方法 * 用于檢索數組中是否包含指定元素內容 -> 返回元素所在的位置 * indexOf() - 從左至右的順序進行檢索 * lastIndexOf() - 從右至左的順序進行檢索 * 返回第一個匹配元素的位置信息 * 如果檢索的元素并不在指定的數組中時 -> 結果為 -1 */ console.log(arr.indexOf("張無忌"));// 0 console.log(arr.lastIndexOf("張無忌"));// 2 console.log(arr.indexOf("滅絕師太"));//迭代與歸并方法 迭代方法
JavaScript提供了如下方法,用于數組的迭代遍歷:
1.every():判斷數組中每個元素是否都滿足fun函數定義的條件。只有滿足才返回true,否則返回false。
2.filter():專門用于篩選出數組中符合fun函數判斷條件的元素組成的心數組。
3.forEach():專門用于對原數組中每個元素執行相同的fun函數對象規定的操作。
4.map():專門用于基于袁術組創建新數組對象。
5.some():判斷數組中是否包含滿足fun含糊是定義的條件的元素,只要包含就返回true,否則返回false。
var arr = ["張無忌","周芷若","趙敏","小昭"]; /* Array.prototype.forEach()方法 * 作用 - 用于遍歷指定數組 * 參數 * callback - 表示回調函數 * currentValue - 表示遍歷數組得到每個元素 * index - 表示遍歷數組得到每個元素對應的索引值 * array - 表示遍歷的數組 * */ arr.forEach(function(currentValue, index, array){ console.log(array); }); /* 為Array類型新增forEach()方法 Object.defineProperty(Array.prototype, "forEach", { value : function(callback){ // 假設得到當前的數組 for (var i=0; i歸并方法 歸并方法用于數組的迭代歸并,JavaScript中提供了兩種方式
1.reduce()將數組從左向右迭代。
2.reduceRight()將數組從右向左迭代.var arr = [1,2,3,4,5]; arr.reduce(function(accumulator, currentValue, currentIndex, array){ console.log(accumulator) return accumulator + currentValue; });
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/108384.html
摘要:對象在中,除了數字字符串布爾值這幾個簡單類型外,其他的都是對象。那么在函數對象中,這兩個屬性的有什么區別呢表示該函數對象的原型表示使用來執行該函數時這種函數一般成為構造函數,后面會講解,新創建的對象的原型。這時的函數通常稱為構造函數。。 本文原發于我的個人博客,經多次修改后發到sf上。本文仍在不斷修改中,最新版請訪問個人博客。 最近工作一直在用nodejs做開發,有了nodejs,...
摘要:看下面一個例子優點使用構造器函數的好處在于,它可以在創建對象時接收一些參數。按照慣例,構造函數的函數名應始終以一個大寫字母開頭,以區分普通函數。返回該對象的源代碼。使您有能力向對象添加屬性和方法。 基本概念 ECMA關于對象的定義是:無序屬性的集合,其屬性可以包含基本值、對象或者函數。對象的每個屬性或方法都有一個名字,而每個名字都映射到一個值。 類 在現實生活中,相似的對象之間往往都有...
摘要:理解的函數基礎要搞好深入淺出原型使用原型模型,雖然這經常被當作缺點提及,但是只要善于運用,其實基于原型的繼承模型比傳統的類繼承還要強大。中文指南基本操作指南二繼續熟悉的幾對方法,包括,,。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。 怎樣使用 this 因為本人屬于偽前端,因此文中只看懂了 8 成左右,希望能夠給大家帶來幫助....(據說是阿里的前端妹子寫的) this 的值到底...
摘要:字面形式允許你在不需要使用操作符和構造函數顯式創建對象的情況下生成引用值。操作符以一個對象和一個構造函數作為參數鑒別數組有前一小結可以知道鑒別數組類型可以使用。屬性是函數獨有的,表明該對象可以被執行。這種函數被稱為匿名函數。 引子: 1.JavaScript 中的變量類型和類型檢測 1.1原始類型 1.2引用類型 1.3內建類型的實例化 1.4函數的字面形式 1.5正則表達式的字...
摘要:動態類型語言的表達力動態語言通常更方便開發較小的項目,因為可以無需聲明類型而節省了很多麻煩。 函數式編程與面向對象編程[2]: 靜態類型語言的表達力 靜態類型語言與動態類型語言 之劍 2016.5.3 21:43:20 像Java或者C#這樣強類型的準靜態語言在實現復雜的業務邏輯、開發大型商業系統、以及那些生命周期很長的應用中也有著非常強的優勢 下面我們就來學習一下這些知識. 有三...
閱讀 1572·2021-11-25 09:43
閱讀 2476·2019-08-30 15:54
閱讀 2938·2019-08-30 15:53
閱讀 1087·2019-08-30 15:53
閱讀 747·2019-08-30 15:52
閱讀 2538·2019-08-26 13:36
閱讀 807·2019-08-26 12:16
閱讀 1210·2019-08-26 12:13