日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript面向对象编程——Array类型

發(fā)布時間:2025/5/22 javascript 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript面向对象编程——Array类型 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

概述

一維數(shù)組

數(shù)組是一個有序的數(shù)據(jù)集合,可以通過數(shù)組名稱和索引進行訪問。JavaScript中并沒有明確的數(shù)組數(shù)據(jù)類型。

二維數(shù)組

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

數(shù)組的常見方法

檢測數(shù)組

如何確定當前是一個數(shù)組,JavaScrpt提供了幾種方式;
1.typeof無法檢測數(shù)組對象: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()方法* 作用 - 用于判斷當前對象的(數(shù)據(jù))類型* 結果 - [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()方法 - 判斷指定類型是否出現(xiàn)在當前對象的原型鏈中 console.log(Array.prototype.isPrototypeOf(arr));// trueconsole.log(Array.isArray(arr));// true

轉換方法

JavaScript中提供了兩種方法;
1.toString():把數(shù)組轉換為字符串,并且返回結果。
2.valueOf():返回數(shù)組對象的原始值。

var arr = [1,2,3,4,5]; /*利用toString()方法將數(shù)組轉換為字符串* 結果 - 多個數(shù)組元素被逗號進行分隔組成的字符串*/ console.log(arr.toString());// 1,2,3,4,5console.log(arr.valueOf());// [ 1, 2, 3, 4, 5 ]var obj = {name : '張無忌' } console.log(obj.valueOf());// true

排序方法

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

var arr = [3,1,2,3,4,5,10];// console.log(arr.reverse());// [ 5, 4, 3, 2, 1 ] /*Array.sort()方法* 作用 - 對數(shù)組中的元素進行排序* 注意* 并不是從小到達的排序* 影響原有數(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);

連接方法

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

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

操作方法

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

var arr = [1,2,3,4,5]; /*splice(start, deleteCount)方法* 作用 - 用于刪除當前數(shù)組中指定位置指定個數(shù)的元素* 參數(shù)* start - 表示刪除的開始位置* deleteCount - 表示刪除的個數(shù)* 返回值 - 將刪除的元素組成的新數(shù)組進行返回*/ // var result = arr.splice(0, 5); // console.log(result); // console.log(arr);/*splice(start, deleteCount, item1, item2, ...)方法* 作用 - 向指定數(shù)組的指定位置添加元素* 參數(shù)* start - 表示刪除的開始位置* deleteCount - 表示刪除的個數(shù)* item1, item2, ... - 表示向數(shù)組添加的元素* 返回值 - 將刪除的元素組成的新數(shù)組進行返回*/ // 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 - 表示開始截取的位置(從 0 開始)* end - 表示結束截取的位置(截取最后一個位置的下一個位置)* 返回值 - 返回截取的元素組成的新數(shù)組*/ var result = arr.slice(2,3); console.log(result);

位置方法

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

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

迭代與歸并方法

迭代方法

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

var arr = ['張無忌','周芷若','趙敏','小昭']; /*Array.prototype.forEach()方法* 作用 - 用于遍歷指定數(shù)組* 參數(shù)* callback - 表示回調函數(shù)* currentValue - 表示遍歷數(shù)組得到每個元素* index - 表示遍歷數(shù)組得到每個元素對應的索引值* array - 表示遍歷的數(shù)組**/ arr.forEach(function(currentValue, index, array){console.log(array); });/* 為Array類型新增forEach()方法 Object.defineProperty(Array.prototype, 'forEach', {value : function(callback){// 假設得到當前的數(shù)組for (var i=0; i<arr.length; i++) {callback(i, arr[i], arr);}} }); */

歸并方法

歸并方法用于數(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; });

總結

以上是生活随笔為你收集整理的JavaScript面向对象编程——Array类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。