JavaScript數(shù)組常用API方法和遍歷方法是什么

小編給大家分享一下JavaScript數(shù)組常用API方法和遍歷方法是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站制作、網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元伊犁做網(wǎng)站,已為上家服務(wù),為伊犁各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792

數(shù)組 (array)

ES5 *

map

語法:[].map(function(item, index, array) {return xxx})
功能:遍歷數(shù)組,返回回調(diào)返回值組成的新數(shù)組,不改變原數(shù)組,不會對空數(shù)組進(jìn)行檢測

forEach

語法:[].forEach(function(item, index, array) {})
功能:無法break,可以用try/catch中throw new Error來停止,不改變原數(shù)組

filter

語法:[].filter(function(item, index, array) {})
功能:過濾,返回過濾后的數(shù)組,不改變原數(shù)組,不會對空數(shù)組進(jìn)行檢測

eg:

const data = [-8, 9, 5, 3];
const res = data.filter(function(item) {
    if (item > 3) {
      return item
    }
});
console.log(res); // [9, 5]

some

語法:[].some(function(item, index, array) {})
功能:有一項返回true,則整體為true,不改變原數(shù)組

every

語法:[].every(function(item, index, array) {})
功能:需要全部符合條件才返回true,有一項返回false,則整體為false,不改變原數(shù)組

join

語法:[].join(str)
功能:返回通過指定連接符str把數(shù)組連接成字符串,不改變原數(shù)組

push / pop

語法:[].push(item)   /  [].pop(item)
功能:數(shù)組末尾推入push和彈出pop,返回改變后數(shù)組的長度/彈出項,改變原數(shù)組

unshift / shift

語法:[].unshift(item)   /  [].shift(item)
功能:數(shù)組頭部推入unshift和彈出shift,返回改變后數(shù)組的長度/彈出項,改變原數(shù)組

sort(fn) / reverse

語法:[].sort(fn)   [].reverse()
功能:按規(guī)則排序與反轉(zhuǎn),改變原數(shù)組

splice

語法:[].splice(start, number, value1, value2...)
功能:返回刪除元素組成的數(shù)組,從start處開始刪除number個值后插入valueN參數(shù)列表到數(shù)組中,改變原數(shù)組

concat

語法:[].concat([])
功能:連接n(n >= 2)個數(shù)組,返回數(shù)組連接后的數(shù)組副本,淺拷貝,不改變原數(shù)組

slice

語法:[].slice(start, end)
功能:返回截斷后的新數(shù)組,不改變原數(shù)組

indexOf / lastIndexOf(value, fromIndex)

語法:[].indexOf(value[, fromIndex])
功能:
查找數(shù)組項
indexOf 從fromIndex(默認(rèn)為0)開始向后查找value
lastIndexOf 從fromIndex(默認(rèn)為-1)開始向前查找value
返回value對應(yīng)的下標(biāo)

reduce / reduceRight

語法:reduce / reduceRight(callback[, initialValue])
功能:兩兩執(zhí)行,prev 為上次化簡函數(shù)的return值,cur 為當(dāng)前值(從第二項開始)
callback 函數(shù)的參數(shù):之前值(previousValue)、當(dāng)前值(currentValue)、索引值(currentIndex)以及數(shù)組本身(array)
initialValue 可選的初始值,作為第一次調(diào)用回調(diào)函數(shù)時傳給previousValue的值。也就是,為累加等操作傳入起始值(額外的加值)

reduceRight是從數(shù)組的末尾開始

isArray *

語法:Array.isArray(value)
功能:用于確定參數(shù)value是否是一個Array

ES6

find *

ind(fn)`
功能:返回符合條件的第一個數(shù)組元素item

findIndex  *

語法:[].findIndex(fn)
功能:返回符合條件的第一個數(shù)組元素的索引

from  *

語法:[].fill(value[, start, end])
功能:將類似數(shù)組的對象和可遍歷(iterable)的對象轉(zhuǎn)為真正的數(shù)組
常用:

const set = new Set(3, 8, 9, 0)
Array.from(set)

entries *

語法:[].entries()
功能:返回迭代器:返回鍵值對

【注】Object.entries(obj)方法返回一個給定對象自身可枚舉屬性的鍵值對數(shù)組,其排列與使用 for...in 循環(huán)遍歷該對象時返回的順序一致(區(qū)別在于 for-in 循環(huán)也枚舉原型鏈中的屬性)【MDN】
[].entries()是Array.prototype上的方法
keys/values 類似

//數(shù)組
const arr = ['a', 'b', 'c'];
for(let v of arr.entries()) {
    console.log(v)
}
// [0, 'a'] [1, 'b'] [2, 'c']

//Set
const arr1 = new Set(['a', 'b', 'c']);
for(let v of arr1.entries()) {
    console.log(v)
}
// ['a', 'a'] ['b', 'b'] ['c', 'c']

//Map
const arr2 = new Map();
arr2.set('a', 'a');
arr2.set('b', 'b');
for(let v of arr2.entries()) {
    console.log(v)
}
// ['a', 'a'] ['b', 'b']

keys *

語法:[].keys()
功能:返回迭代器:返回鍵key(即上面的每個數(shù)組中的第一個值)

values

語法:[].values()
功能:返回迭代器:返回值value(即上面的每個數(shù)組中的第二個值)

includes *

語法:[].includes(val[, fromIndex])
功能:用于從fromIndex判斷數(shù)組中是否包含val,可替代ES5中的 indexOf

copyWithin

語法:[].copyWithin(target[, start[, end]])
功能:淺復(fù)制數(shù)組的一部分(start~end)到同一數(shù)組中的另目標(biāo)位置target,返回改變后的數(shù)組,而不修改其大?。籹tart默認(rèn)為0, end默認(rèn)為length-1; 改變原數(shù)組

of

語法:Array.of()
功能:創(chuàng)建一個具有可變數(shù)量參數(shù)的新數(shù)組實例,而不考慮參數(shù)的數(shù)量或類型

Array構(gòu)造函數(shù) & Array.of() 區(qū)別
實例說明

Array.of(7);       // [7] 
Array.of(1, 2, 3); // [1, 2, 3]

Array(7);          // [ , , , , , , ]
Array(1, 2, 3);    // [1, 2, 3]

fill

語法:[].fill(value[, start, end])
功能:用指定的元素填充數(shù)組,可用于初始化數(shù)組,返回改變后的數(shù)組,改變原數(shù)組
填充值(value),填充起始位置(start,默認(rèn)為0),填充結(jié)束位置(end,默認(rèn)為數(shù)組length)。

遍歷

數(shù)組

map/forEach/some/every/filter 見上

for

for...in

遍歷所有可枚舉屬性,常用于遍歷對象Object

for...of

遍歷所有可迭代iterable的對象

對象【屬性】

for...in

循環(huán)遍歷對象自身的和繼承的可枚舉屬性(不含Symbol屬性)【可枚舉 - Symbol】

Object.keys(obj)

返回一個數(shù)組,包括對象自身的(不含繼承的)所有可枚舉屬性(不含Symbol屬性)【自身可枚舉 - Symbol】

Object.getOwnPropertyNames(obj)

返回一個數(shù)組,包含對象自身的所有屬性(不含Symbol屬性,但是包括不可枚舉屬性)【自身 - Symbol】

Object.getOwnPropertySymbols(obj)

返回一個數(shù)組,包含對象自身的所有Symbol屬性【自身的Symbol】

Reflect.ownKeys(obj)

返回一個數(shù)組,包含對象自身的所有屬性,不管是屬性名是Symbol或字符串,也不管是否可枚舉  【自身所有】

以上是“JavaScript數(shù)組常用API方法和遍歷方法是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)站欄目:JavaScript數(shù)組常用API方法和遍歷方法是什么
當(dāng)前地址:http://bm7419.com/article14/jdscde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、營銷型網(wǎng)站建設(shè)、網(wǎng)站制作、、商城網(wǎng)站、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司