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