摘要:示例的前兩個參數指定了需要刪除的數組元素。如果只關心數組元素的值,可以只傳一個值。示例返回的是新數組它不修改調用的數組方法返回的數組元素是調用的數組的一個子集。
join
Array.join()方法將數組中所有元素都轉化為字符串并連接在一起,返回最后生成的字符串。可以指定一個可選的字符串在生成的字符串中來分隔數組的各個元素。如果不指定分隔符,默認使用逗號。示例:
var a = [1,2,3] console.log(a.join()) //1,2,3 console.log(a.join(" ")) //1 2 3 console.log(a.join(""))//123reverse
Array.reverse()方法將數組中的元素顛倒順序,返回逆序的數組。它采取了替換;即在原先的數組中重新排列它們。示例:
var a = [1,2,3] console.log(a.reverse().join()) //3,2,1sort
Array.sort()方法將數組中的元素排序并返回排序后的數組。當不帶參數調用sort()時,數組元素以字母表順序排序(如有必要將臨時轉化為字符串進行比較):
var a = ["d","b","c"] console.log(a.sort().join()) //b,c,d
如果數組包含undefined元素,將會被安排到數組的尾部。
sort方法可以傳一個比較函數用于非字母排序,該函數接收兩個參數,假設第一個參數應該在前,比較函數應該返回一個小于0的數值,反之,第一個參數在后,返回一個大于0的數值,示例:
var a = [3,26,5,2] a.sort(function (a,b) { if (a concatArray.concat()方法創建并返回一個新數組,它的元素包括調用concat()的原始數組的元素和concat()的每個參數。如果參數中的任何一個自身是數組,則連接的是數組的元素,而非數組本身,concat()不會遞歸扁平化數組,也不會修改調用數組。示例:
var a = [1,2,3] console.log(a.concat(4, 5)) // [ 1, 2, 3, 4, 5 ] console.log(a.concat([4, 5])) // [ 1, 2, 3, 4, 5 ]sliceArray.slice()方法返回指定數組的一個片段或子數組。它的兩個參數分別指定了片段的開始和結束的位置。返回的數組包含第一個參數位置但不含第二個參數位置之間的元素,如果只有一個參數,則返回開始位置到數組結尾的所有元素。如參數中出現負數,表示相對于數組中最后一個元素的位置。示例:
var a = [1,2,3,4] console.log(a.slice(0,2)) //[1, 2] console.log(a.slice(2)) //[3, 4] console.log(a.slice(-2,-1)) //[3]spliceArray.splice()方法是在數組中插入或刪除元素的方法,會修改調用的數組。
第一個參數指定了插入或刪除的起始位置。第二個參數指定了應該從數組中刪除的元素個數。如果省略第二個參數,從起點開始到數組結尾的所有元素都將被刪除。splice()返回一個由刪除元素組成的數組。示例:var a = [1,2,3,4] console.log(a.splice(3)) // [4] console.log(a.splice(1,2)) // [2, 3]splice()的前兩個參數指定了需要刪除的數組元素。緊隨其后的任意個數的參數指定了需要插入到數組中的元素,從第一個參數指定的位置開始插入。例如:
var a = [1,2,3,4] a.splice(2,0,"a","b") console.log(a) // [ 1, 2, "a", "b", 3, 4 ] a.splice(2,2,[1,2],3) console.log(a) // [ 1, 2, [ 1, 2 ], 3, 3, 4 ]push和poppush()和pop()方法允許將數組當作棧來使用。push()方法在數組的尾部添加一個或多個元素,并返回數組新的長度。pop()方法則相反:它刪除數組的最后一個元素,減小數組長度并返回刪除的值。兩個方法都修改并替換原始數組而非生成一個修改版的新數組。示例:
var a = [1,2,3,4] a.push(5) console.log(a) //[ 1, 2, 3, 4, 5 ] a.pop() console.log(a) //[ 1, 2, 3, 4 ]unshift和shiftunshift()和shift()方法的行為非常類似于push()和pop(),不一樣的是shift和unshift對數組的第一個元素進行刪除和插入操作
var a = [] a.unshift(2) console.log(a) //[2] a.unshift(3) console.log(a) //[3,2] a.shift() console.log(a) //[2]forEachforEach()方法從頭到尾遍歷數組,為每個元素調用指定的函數,該函數接收三個值:數組元素、元素的索引、和數組本身。如果只關心數組元素的值,可以只傳一個值。示例:
var a = [1,2,3,4] var sum = 0; a.forEach(function (val) { sum += val }) console.log(sum) //10 a.forEach(function (v, i, s) { s[i] = v + 1 }) console.log(a) //[ 2, 3, 4, 5 ]mapmap()方法將調用的數組的每個元素傳遞給指定的函數,并返回一個數組,它包含該函數的返回值。示例:
var a = [1,2,3,4] b = a.map(function (val) { return val * val }) console.log(b) //[ 1, 4, 9, 16 ]Tips: map()返回的是新數組:它不修改調用的數組
filterfilter()方法返回的數組元素是調用的數組的一個子集。傳遞的函數是用來邏輯判定的,函數如果返回值是true,那么傳遞給判定函數的元素就是這個子集的成員。示例:
var a = [1,2,3,4] var b = a.filter(function (x) { return x<3 }) console.log(b) //[1, 2]every和someevery()和some()方法是數組的邏輯判定:它們對數組元素應用指定的函數進行判定,返回true和false
every()方法當且僅當數組中的所有元素調用判定函數都返回true,才返回true:var a = [1,2,3,4] console.log( a.every(function (x) { return x < 5 })) //truesome()方法當數組中至少有一個元素判定函數返回true,它就返回true;并且當且僅當數組中的所有元素調用判定函數都返回false,才返回false
var a = [1,2,3,4] console.log( a.some(function (x) { return x < 2 })) //true console.log(a.some(isNaN)) //falseTips:一旦every()和some()確認該返回什么值時它們就會停止遍歷元素
reduce和reduceRightreduce()和reduceRight()方法使用指定的函數將元素進行組合,生成單個值。可以稱為“注入”和“折疊”。示例:
var a = [1,2,3,4] var sum = a.reduce(function (x, y) { return x+y },3) console.log(sum) //13 var max = a.reduce(function (x,y) { return (x>y)?x:y }) console.log(max) //4reduce()需要兩個參數。第一個執行化簡操作的函數。化簡函數的任務就是用某種方法把兩個值組合或化簡為一個值,并返回化簡后的值。
indexOf和lastIndexOf
在空數組上,不帶初始值參數調用reduce()將導致類型錯誤異常。如果調用它的時候只有一個值,數組只有一個元素并且沒有指定初始值,或者有一個空數組并且指定一個初始值,reduce()只是簡單地返回那個值而不會調用簡化函數。
reduceRight()的工作原理和reduce()一樣,不同的是它按照數組索引從高到底(從右到左)處理數組,而不是從低到高indexOf()和lastIndexOf()搜索整個數組中具有給定值的元素,返回找到的第一個元素的索引或者如果沒有找到就返回-1。indexOf()從頭到尾搜索,而lastIndexOf()則反向搜索。示例:
var a = [0,1,2,1,0] console.log(a.indexOf(1)) //1 console.log(a.lastIndexOf(1)) //3 console.log(a.indexOf(3)) //-1indexOf()和lastIndexOf()方法不接收一個函數作為其參數,第一個參數是需要搜索的值,第二個參數是可選的:它指定數組的一個索引,從指定位置開始搜索。如果省略該參數,indexOf()從頭開始搜索,而lastIndexOf()從末尾開始搜索。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88822.html
摘要:在為的位置,刪除個元素,插入刪了為的元素,替換為刪了為的元素數組的增刪改都可以用完成返回從原數組中指定開始下標到結束下標之間的項組成的新數組該方法不會改變原始數組。不傳值表示克隆了除了正常用法,經常用來將對象轉換為。 js 中數組的常用方法總結 arr.fill(a);//所有子元素 都改為 a; [{a: 1},{b: 2}, ...Array(8).fill({}, 0)] //...
摘要:語法添加刪除項目的位置要刪除的項目數量要添加的第一個元素第二個第三個返回值被刪除的項目,如果有的話其中,第二個參數如果設置為,則不會刪除任何項目。 第一篇篇幅太長了,自己回顧都覺得有點傷神。。以后盡量多篇少字~ 首先簡單介紹Array數組對象 什么是數組: 用單獨的變量名存儲一系列的值 如何創建數組:(有3種方法) 1、常規方式: var gyt=new Array(); gyt[0...
摘要:今天就來梳理一下常用的數組方法基礎幾種基礎的就簡單介紹一下創建數組括號可以傳參,指定數組長度。返回值對數組的引用。如果數組是空的,那么方法將不進行任何操作,返回值。注用于字符串操作時,會調用這一方法將數組自動轉換成字符串。 前言 在js中,數組作為一個特殊的對象。是我們常用的數據格式。今天就來梳理一下常用的數組方法. 1.基礎 幾種基礎的就簡單介紹一下:創建數組 var arr1 = ...
摘要:常用的屬性和方法創建空創建給對象添加屬性給對象添加多個屬性給對象添加給對象添加返回屬性配置對象返回所有屬性名數組返回對象原型對象阻止對象擴展凍結對象密封對象檢測是否可擴展布爾值檢測是否凍結布爾值檢測是否密封布爾值對象原型對象對象實例的屬性和 常用Object的屬性和方法 創建空Object var o1 = {}; var o2 = Object.create(Object.prot...
摘要:數組語法功能遍歷數組,返回回調返回值組成的新數組,不改變原數組,不會對空數組進行檢測語法功能無法,可以用中來停止,不改變原數組語法功能過濾,返回過濾后的數組,不改變原數組,不會對空數組進行檢測語法功能有一項返回,則整體為,不改變原數組語法 數組 (array) ES5 * map 語法:[].map(function(item, index, array) {return xxx})功...
閱讀 3289·2023-04-26 02:40
閱讀 4639·2021-09-22 15:22
閱讀 1573·2021-09-22 10:02
閱讀 3475·2021-08-11 10:23
閱讀 1388·2019-08-30 15:55
閱讀 2487·2019-08-30 12:48
閱讀 584·2019-08-30 11:04
閱讀 697·2019-08-29 16:29