亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

實例詳解ECMAScript5中新增的Array方法

2019-11-20 10:17:32
字體:
來源:轉載
供稿:網友

ECMAScript5 給出了一系列新的API接口,這些接口在新的瀏覽器中大部分是被支持的,IE9,Chrome,FirFor都支持,也有少量API不是所有瀏覽器都支持,以下內容僅介紹大部分被支持的API。利用新的API我們可以設計出非??孔V的類,而且還能保持原有的javaScript的風格。

ECMAScript5標準發布于2009年12月3日,它帶來了一些新的,改善現有的Array數組操作的方法。(注意兼容性)

在ES5中,一共有9個Array方法:http://kangax.github.io/compat-table/es5/

Array.prototype.indexOfArray.prototype.lastIndexOfArray.prototype.everyArray.prototype.someArray.prototype.forEachArray.prototype.mapArray.prototype.filterArray.prototype.reduceArray.prototype.reduceRight 

下面列舉了其中的7種方法,前5種方法很常見,很多開發者都會用到:

1、indexOf()

indexOf()方法返回在該數組中第一個找到的元素位置,如果它不存在則返回-1。

var arr = ['apple', 'orange', 'pear'],found = false;// 未使用for (var i = 0, l = arr.length; i < l; i++) {if (arr[i] === 'orange') {found = true;}}console.log("found:", found); // ==> found: true// 使用后console.log("found:", arr.indexOf("orange") != -1); // ==> found: true 

2、filter()

該filter()方法創建一個新的匹配過濾條件的數組。

不用 filter() 時:

var arr=[{"name":"apple", "count": 2},{"name":"orange", "count": 5},{"name":"pear", "count": 3},{"name":"orange", "count": 16},]var newArr = [];for (var i = 0; i < arr.length; i++) {if (arr[i].name === "orange") {newArr.push(arr[i]);}}console.log("Filter results:", newArr); 

用了 filter():

var newArr = arr.filter(function(item) {return item.name === "orange";});console.log("Filter results:", newArr); 

3、forEach()

forEach為每個元素執行對應的方法,是用來替換for循環的。

var arr = [1, 2, 3, 4, 5, 6, 7, 8];// 使用for循環for (var i = 0, l = arr.length; i < l; i++) {console.log(arr[i]);}// 使用forEach循環arr.forEach(function(item, index) {console.log(item);}); 

4、map()

map()對數組的每個元素進行一定操作(映射)后,會返回一個新的數組。

var oldArr = [{first_name: "Colin",last_name: "Toh"}, {first_name: "Addy",last_name: "Osmani"}, {first_name: "Yehuda",last_name: "Katz"}];function getNewArr() {var newArr = [];for (var i = 0; i < oldArr.length; i++) {var item = oldArr[i];item.full_name = [item.first_name, item.last_name].join(" ");newArr[i] = item;}return newArr;}var personName = getNewArr();personName.forEach(function(item, index) {console.log(item);})/****輸出結果:Object {first_name: "Colin", last_name: "Toh", full_name: "Colin Toh"}Object {first_name: "Addy", last_name: "Osmani", full_name: "Addy Osmani"}Object {first_name: "Yehuda", last_name: "Katz", full_name: "Yehuda Katz"}****/ 

使用map()方法:

function getNewArr() {return oldArr.map(function(item, index) {item.full_name = [item.first_name, item.last_name].join(" ");return item;})}var personName = getNewArr();personName.forEach(function(item, index) {console.log(item);})/****輸出結果:Object {first_name: "Colin", last_name: "Toh", full_name: "Colin Toh"}Object {first_name: "Addy", last_name: "Osmani", full_name: "Addy Osmani"}Object {first_name: "Yehuda", last_name: "Katz", full_name: "Yehuda Katz"}****/ 

5、reduce()

reduce()可以實現一個累加器的功能,將數組的每個值(從左到右)將其降低到一個值。也可以理解為:讓數組中的前項和后項做某種運算,并累積最終值;

場景: 統計一個數組中有多少個不重復的單詞;

var arr = ["apple", "orange", "apple", "orange", "pear", "orange"];function getWordCnt() {var obj = {};for (var i = 0; i < arr.length; i++) {var item = arr[i];obj[item] = (obj[item] + 1) || 1;}return obj;}console.log(getWordCnt());// 輸出結果:// Object {apple: 2, orange: 3, pear: 1} 

使用reduce()后:

var arr = ["apple", "orange", "apple", "orange", "pear", "orange"];function getWordCnt() {return arr.reduce(function(prev, next) {prev[next] = (prev[next] + 1) || 1;return prev;}, {});}console.log(getWordCnt());// 輸出結果:// Object {apple: 2, orange: 3, pear: 1} 

6 、array.some(callback[, thisObject]);callback : 函數用來測試某些元素。

thisObject: 對象作為該執行回調時使用。

檢測數組中是否有某些項符合條件;

var scores = [45, 60, 70, 65, 95, 85];var current = 60;function passed(score) {return score > current;}console.log(scores.some(passed)); // == > true 

7、array.every(callback[, thisObject]);callback : 函數用來測試每個元素。thisObject: 對象作為該執行回調時使用。

檢測數組中每一項是否符合條件;

var scores = [45, 60, 70, 65, 95, 85];var current = 60;function passed(score) {return score > current;}console.log(scores.every(passed)); // == > false

通過以上實例給大家介紹了ECMAScript5中新增的Array方法,希望對大家有所幫助!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美巨猛xxxx猛交黑人97人| 国产一区二区在线免费视频| www.欧美三级电影.com| 国产丝袜一区二区| 国产中文字幕91| 亚洲曰本av电影| 亚洲欧洲日韩国产| 欧美精品一区在线播放| 91成人免费观看网站| 日本人成精品视频在线| 久久精品国产2020观看福利| 亚洲国产精品小视频| 亚洲综合精品一区二区| 久久亚洲春色中文字幕| 亚洲天堂男人天堂| 免费不卡在线观看av| 欧美一级淫片videoshd| 欧美性猛交xxxx乱大交| 97精品国产aⅴ7777| 97香蕉超级碰碰久久免费的优势| 亚州欧美日韩中文视频| 91人人爽人人爽人人精88v| www国产亚洲精品久久网站| 亚洲一级一级97网| 亚洲午夜激情免费视频| 亚洲日韩欧美视频| 国产欧美精品一区二区三区-老狼| 日韩美女视频免费在线观看| 精品性高朝久久久久久久| 亚洲电影免费观看高清完整版在线| 国产精品久久久久久搜索| 欧美激情伊人电影| 一区二区欧美激情| 91久久久国产精品| 欧美成人全部免费| 日韩欧美国产成人| 91免费看视频.| 国产精品麻豆va在线播放| 久久久久免费精品国产| 日韩成人网免费视频| 久久久久久高潮国产精品视| 久久精品国产v日韩v亚洲| 中文字幕不卡在线视频极品| 在线中文字幕日韩| 57pao国产精品一区| 亚洲va久久久噜噜噜| 中文字幕亚洲欧美日韩在线不卡| 在线免费看av不卡| 国产精品91一区| 国产精品视频永久免费播放| 国产香蕉一区二区三区在线视频| 欧美日韩第一视频| 精品无人区太爽高潮在线播放| 欧美成人一二三| 欧美—级高清免费播放| 大胆人体色综合| 91九色综合久久| 萌白酱国产一区二区| 日韩电影免费观看在线| 欧美猛男性生活免费| 777国产偷窥盗摄精品视频| 国产精品久久久久久久久久新婚| 亚洲欧美一区二区精品久久久| 怡红院精品视频| 亚洲精品小视频在线观看| 亚洲精品一区久久久久久| 国产精品最新在线观看| 欧美黑人国产人伦爽爽爽| 亚洲级视频在线观看免费1级| 日韩欧美在线观看| www.99久久热国产日韩欧美.com| 国产成人激情小视频| 亚洲精品99久久久久中文字幕| 日韩在线免费高清视频| 欧美精品videosex牲欧美| 国产小视频国产精品| 国内精久久久久久久久久人| 韩国美女主播一区| 国产欧美一区二区白浆黑人| 国产精自产拍久久久久久蜜| 97视频在线观看网址| 日韩在线观看视频免费| 久久九九全国免费精品观看| 国产精品一区二区3区| 日韩精品久久久久久久玫瑰园| 欧美在线视频在线播放完整版免费观看| 国产精品丝袜高跟| 国产一区二区三区18| 性色av一区二区三区| 在线播放国产一区中文字幕剧情欧美| 欧美成人午夜免费视在线看片| 久久久精品国产| 欧美理论电影网| 91sa在线看| 亚洲欧美精品伊人久久| 精品国产依人香蕉在线精品| 国产精品成人免费电影| 久久久精品网站| 久久天天躁夜夜躁狠狠躁2022| 日本亚洲欧洲色α| 91精品久久久久久久久不口人| 亚洲国产另类久久精品| 国产999精品久久久| 午夜精品免费视频| 久久免费在线观看| 亚洲精品久久久久久久久久久久久| 国产va免费精品高清在线观看| 97色在线视频观看| 亚洲天堂色网站| 国产亚洲精品激情久久| 欧美成人性色生活仑片| 成人深夜直播免费观看| 精品国产精品自拍| 欧美性videos高清精品| 国产性色av一区二区| 国产精品久久久久91| 午夜欧美大片免费观看| 97视频在线观看播放| 国产日韩欧美电影在线观看| 国产亚洲美女精品久久久| 精品久久久一区| 国产91色在线|| 中文字幕日韩在线播放| 欧美视频在线视频| 成人精品一区二区三区| 欧美成人激情图片网| 5278欧美一区二区三区| 日韩精品一区二区视频| 91精品国产精品| 欧美综合激情网| 欧美最猛性xxxxx免费| 日韩在线观看免费高清| 中文字幕欧美国内| 精品国产自在精品国产浪潮| 国产精品成熟老女人| 欧美亚洲日本黄色| 欧美成人亚洲成人日韩成人| 欧美自拍视频在线| 国产精品久久久久久久久久小说| 日韩av一区二区在线观看| 欧美中文字幕视频在线观看| 久久99国产综合精品女同| 国产日本欧美在线观看| 国产精品久久久久久久美男| 18一19gay欧美视频网站| 欧美色播在线播放| 国产91精品高潮白浆喷水| 国产精品美女网站| 久久精品亚洲国产| 午夜精品一区二区三区在线视频| 91精品视频一区| 亚洲国产欧美一区二区三区久久| 亚洲人成网7777777国产| 97久久精品人人澡人人爽缅北| 一区二区三区无码高清视频| 久久精品99久久久久久久久| 国产精品免费久久久久久| 亚洲欧美中文日韩在线v日本| 亚洲人成在线观| 日韩精品极品视频免费观看| 亚洲黄色免费三级| 久久99青青精品免费观看| 日本aⅴ大伊香蕉精品视频| 国产z一区二区三区|