成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

js數(shù)組常用方法

developerworks / 545人閱讀

摘要:示例的前兩個(gè)參數(shù)指定了需要?jiǎng)h除的數(shù)組元素。如果只關(guān)心數(shù)組元素的值,可以只傳一個(gè)值。示例返回的是新數(shù)組它不修改調(diào)用的數(shù)組方法返回的數(shù)組元素是調(diào)用的數(shù)組的一個(gè)子集。

join

Array.join()方法將數(shù)組中所有元素都轉(zhuǎn)化為字符串并連接在一起,返回最后生成的字符串??梢灾付ㄒ粋€(gè)可選的字符串在生成的字符串中來分隔數(shù)組的各個(gè)元素。如果不指定分隔符,默認(rèn)使用逗號(hào)。示例:

var a = [1,2,3]
console.log(a.join()) //1,2,3
console.log(a.join(" ")) //1 2 3
console.log(a.join(""))//123
reverse

Array.reverse()方法將數(shù)組中的元素顛倒順序,返回逆序的數(shù)組。它采取了替換;即在原先的數(shù)組中重新排列它們。示例:

var a = [1,2,3]
console.log(a.reverse().join()) //3,2,1
sort

Array.sort()方法將數(shù)組中的元素排序并返回排序后的數(shù)組。當(dāng)不帶參數(shù)調(diào)用sort()時(shí),數(shù)組元素以字母表順序排序(如有必要將臨時(shí)轉(zhuǎn)化為字符串進(jìn)行比較):

var a = ["d","b","c"]
console.log(a.sort().join()) //b,c,d

如果數(shù)組包含undefined元素,將會(huì)被安排到數(shù)組的尾部。
sort方法可以傳一個(gè)比較函數(shù)用于非字母排序,該函數(shù)接收兩個(gè)參數(shù),假設(shè)第一個(gè)參數(shù)應(yīng)該在前,比較函數(shù)應(yīng)該返回一個(gè)小于0的數(shù)值,反之,第一個(gè)參數(shù)在后,返回一個(gè)大于0的數(shù)值,示例:

var a = [3,26,5,2]
a.sort(function (a,b) {
  if (a
concat

Array.concat()方法創(chuàng)建并返回一個(gè)新數(shù)組,它的元素包括調(diào)用concat()的原始數(shù)組的元素和concat()的每個(gè)參數(shù)。如果參數(shù)中的任何一個(gè)自身是數(shù)組,則連接的是數(shù)組的元素,而非數(shù)組本身,concat()不會(huì)遞歸扁平化數(shù)組,也不會(huì)修改調(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 ]
slice

Array.slice()方法返回指定數(shù)組的一個(gè)片段或子數(shù)組。它的兩個(gè)參數(shù)分別指定了片段的開始和結(jié)束的位置。返回的數(shù)組包含第一個(gè)參數(shù)位置但不含第二個(gè)參數(shù)位置之間的元素,如果只有一個(gè)參數(shù),則返回開始位置到數(shù)組結(jié)尾的所有元素。如參數(shù)中出現(xiàn)負(fù)數(shù),表示相對(duì)于數(shù)組中最后一個(gè)元素的位置。示例:

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]
splice

Array.splice()方法是在數(shù)組中插入或刪除元素的方法,會(huì)修改調(diào)用的數(shù)組。
第一個(gè)參數(shù)指定了插入或刪除的起始位置。第二個(gè)參數(shù)指定了應(yīng)該從數(shù)組中刪除的元素個(gè)數(shù)。如果省略第二個(gè)參數(shù),從起點(diǎn)開始到數(shù)組結(jié)尾的所有元素都將被刪除。splice()返回一個(gè)由刪除元素組成的數(shù)組。示例:

var a = [1,2,3,4]
console.log(a.splice(3)) // [4]
console.log(a.splice(1,2)) // [2, 3]

splice()的前兩個(gè)參數(shù)指定了需要?jiǎng)h除的數(shù)組元素。緊隨其后的任意個(gè)數(shù)的參數(shù)指定了需要插入到數(shù)組中的元素,從第一個(gè)參數(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和pop

push()和pop()方法允許將數(shù)組當(dāng)作棧來使用。push()方法在數(shù)組的尾部添加一個(gè)或多個(gè)元素,并返回?cái)?shù)組新的長度。pop()方法則相反:它刪除數(shù)組的最后一個(gè)元素,減小數(shù)組長度并返回刪除的值。兩個(gè)方法都修改并替換原始數(shù)組而非生成一個(gè)修改版的新數(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和shift

unshift()和shift()方法的行為非常類似于push()和pop(),不一樣的是shift和unshift對(duì)數(shù)組的第一個(gè)元素進(jìn)行刪除和插入操作

var a = []
a.unshift(2)
console.log(a) //[2]
a.unshift(3)
console.log(a) //[3,2]
a.shift()
console.log(a) //[2]
forEach

forEach()方法從頭到尾遍歷數(shù)組,為每個(gè)元素調(diào)用指定的函數(shù),該函數(shù)接收三個(gè)值:數(shù)組元素、元素的索引、和數(shù)組本身。如果只關(guān)心數(shù)組元素的值,可以只傳一個(gè)值。示例:

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 ]
map

map()方法將調(diào)用的數(shù)組的每個(gè)元素傳遞給指定的函數(shù),并返回一個(gè)數(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ù)組

filter

filter()方法返回的數(shù)組元素是調(diào)用的數(shù)組的一個(gè)子集。傳遞的函數(shù)是用來邏輯判定的,函數(shù)如果返回值是true,那么傳遞給判定函數(shù)的元素就是這個(gè)子集的成員。示例:

var a = [1,2,3,4]
var b = a.filter(function (x) {
  return x<3
})
console.log(b) //[1, 2]
every和some

every()和some()方法是數(shù)組的邏輯判定:它們對(duì)數(shù)組元素應(yīng)用指定的函數(shù)進(jìn)行判定,返回true和false
every()方法當(dāng)且僅當(dāng)數(shù)組中的所有元素調(diào)用判定函數(shù)都返回true,才返回true:

var a = [1,2,3,4]
console.log(
  a.every(function (x) {
  return x < 5
})) //true

some()方法當(dāng)數(shù)組中至少有一個(gè)元素判定函數(shù)返回true,它就返回true;并且當(dāng)且僅當(dāng)數(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)) //false

Tips:一旦every()和some()確認(rèn)該返回什么值時(shí)它們就會(huì)停止遍歷元素

reduce和reduceRight

reduce()和reduceRight()方法使用指定的函數(shù)將元素進(jìn)行組合,生成單個(gè)值。可以稱為“注入”和“折疊”。示例:

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) //4

reduce()需要兩個(gè)參數(shù)。第一個(gè)執(zhí)行化簡操作的函數(shù)。化簡函數(shù)的任務(wù)就是用某種方法把兩個(gè)值組合或化簡為一個(gè)值,并返回化簡后的值。
在空數(shù)組上,不帶初始值參數(shù)調(diào)用reduce()將導(dǎo)致類型錯(cuò)誤異常。如果調(diào)用它的時(shí)候只有一個(gè)值,數(shù)組只有一個(gè)元素并且沒有指定初始值,或者有一個(gè)空數(shù)組并且指定一個(gè)初始值,reduce()只是簡單地返回那個(gè)值而不會(huì)調(diào)用簡化函數(shù)。
reduceRight()的工作原理和reduce()一樣,不同的是它按照數(shù)組索引從高到底(從右到左)處理數(shù)組,而不是從低到高

indexOf和lastIndexOf

indexOf()和lastIndexOf()搜索整個(gè)數(shù)組中具有給定值的元素,返回找到的第一個(gè)元素的索引或者如果沒有找到就返回-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)) //-1

indexOf()和lastIndexOf()方法不接收一個(gè)函數(shù)作為其參數(shù),第一個(gè)參數(shù)是需要搜索的值,第二個(gè)參數(shù)是可選的:它指定數(shù)組的一個(gè)索引,從指定位置開始搜索。如果省略該參數(shù),indexOf()從頭開始搜索,而lastIndexOf()從末尾開始搜索。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/88822.html

相關(guān)文章

  • js數(shù)組常用方法總結(jié)

    摘要:在為的位置,刪除個(gè)元素,插入刪了為的元素,替換為刪了為的元素?cái)?shù)組的增刪改都可以用完成返回從原數(shù)組中指定開始下標(biāo)到結(jié)束下標(biāo)之間的項(xiàng)組成的新數(shù)組該方法不會(huì)改變?cè)紨?shù)組。不傳值表示克隆了除了正常用法,經(jīng)常用來將對(duì)象轉(zhuǎn)換為。 js 中數(shù)組的常用方法總結(jié) arr.fill(a);//所有子元素 都改為 a; [{a: 1},{b: 2}, ...Array(8).fill({}, 0)] //...

    luckyw 評(píng)論0 收藏0
  • JS內(nèi)置對(duì)象-Array數(shù)組對(duì)象的一些常用方法區(qū)分

    摘要:語法添加刪除項(xiàng)目的位置要?jiǎng)h除的項(xiàng)目數(shù)量要添加的第一個(gè)元素第二個(gè)第三個(gè)返回值被刪除的項(xiàng)目,如果有的話其中,第二個(gè)參數(shù)如果設(shè)置為,則不會(huì)刪除任何項(xiàng)目。 第一篇篇幅太長了,自己回顧都覺得有點(diǎn)傷神。。以后盡量多篇少字~ 首先簡單介紹Array數(shù)組對(duì)象 什么是數(shù)組: 用單獨(dú)的變量名存儲(chǔ)一系列的值 如何創(chuàng)建數(shù)組:(有3種方法) 1、常規(guī)方式: var gyt=new Array(); gyt[0...

    zorro 評(píng)論0 收藏0
  • js:Array對(duì)象常用方法介紹

    摘要:今天就來梳理一下常用的數(shù)組方法基礎(chǔ)幾種基礎(chǔ)的就簡單介紹一下創(chuàng)建數(shù)組括號(hào)可以傳參,指定數(shù)組長度。返回值對(duì)數(shù)組的引用。如果數(shù)組是空的,那么方法將不進(jìn)行任何操作,返回值。注用于字符串操作時(shí),會(huì)調(diào)用這一方法將數(shù)組自動(dòng)轉(zhuǎn)換成字符串。 前言 在js中,數(shù)組作為一個(gè)特殊的對(duì)象。是我們常用的數(shù)據(jù)格式。今天就來梳理一下常用的數(shù)組方法. 1.基礎(chǔ) 幾種基礎(chǔ)的就簡單介紹一下:創(chuàng)建數(shù)組 var arr1 = ...

    phpmatt 評(píng)論0 收藏0
  • JS標(biāo)準(zhǔn)庫的部分內(nèi)置對(duì)象的常用屬性和方法

    摘要:常用的屬性和方法創(chuàng)建空創(chuàng)建給對(duì)象添加屬性給對(duì)象添加多個(gè)屬性給對(duì)象添加給對(duì)象添加返回屬性配置對(duì)象返回所有屬性名數(shù)組返回對(duì)象原型對(duì)象阻止對(duì)象擴(kuò)展凍結(jié)對(duì)象密封對(duì)象檢測是否可擴(kuò)展布爾值檢測是否凍結(jié)布爾值檢測是否密封布爾值對(duì)象原型對(duì)象對(duì)象實(shí)例的屬性和 常用Object的屬性和方法 創(chuàng)建空Object var o1 = {}; var o2 = Object.create(Object.prot...

    source 評(píng)論0 收藏0
  • JS 數(shù)組常用API方法和遍歷方法總結(jié)

    摘要:數(shù)組語法功能遍歷數(shù)組,返回回調(diào)返回值組成的新數(shù)組,不改變?cè)瓟?shù)組,不會(huì)對(duì)空數(shù)組進(jìn)行檢測語法功能無法,可以用中來停止,不改變?cè)瓟?shù)組語法功能過濾,返回過濾后的數(shù)組,不改變?cè)瓟?shù)組,不會(huì)對(duì)空數(shù)組進(jìn)行檢測語法功能有一項(xiàng)返回,則整體為,不改變?cè)瓟?shù)組語法 數(shù)組 (array) ES5 * map 語法:[].map(function(item, index, array) {return xxx})功...

    TNFE 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<