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

資訊專(zhuān)欄INFORMATION COLUMN

javascript 總結(jié)(Array篇)

Jackwoo / 1201人閱讀

摘要:如果這個(gè)參數(shù)為空,會(huì)傳遞給值返回符合測(cè)試條件的第一個(gè)數(shù)組元素索引,如果沒(méi)有符合條件的則返回必需。沒(méi)有返回值必需。當(dāng)前元素所屬的數(shù)組對(duì)象必需。初始值或者計(jì)算結(jié)束后的返回值。

1.toString: 返回以數(shù)組中的每個(gè)值的字符串形式拼接而成的一個(gè)以逗號(hào)分割的字符串

toStringArr = [1, 2, 3, 4, 5, 6]
console.log(toStringArr.toString())
// -> 1,2,3,4,5,6

2.valueOf: 返回?cái)?shù)組對(duì)象的原始值。返回的還是數(shù)組

valueOfArr = [1, 2, 3, 4, 5, 6]
console.log(valueOfArr.valueOf())
// -> [1, 2, 3, 4, 5, 6]

3.join: 通過(guò)指定的分隔符進(jìn)行分隔并返回一個(gè)字符串

var arr = [1, 2, 3, 4, 5, 6]
var joinArr = arr.join("&")
console.log("join:" + joinArr)
// -> join:1&2&3&4&5&6

4.push: 向數(shù)組的末尾添加一個(gè)或更多元素,并返回新的長(zhǎng)度

var pushArr = [1, 2, 3, 4, 5, 6]
pushArr.push(7)
console.log(pushArr)
// -> [1, 2, 3, 4, 5, 6, 7]

5.pop: 刪除數(shù)組的最后一個(gè)元素并返回刪除的元素, 如果數(shù)組為空就返回undefined

var popArr = [1, 2, 3, 4, 5, 6]
var popEle = popArr.pop()
console.log(popEle, popArr)
// -> 6,  [1, 2, 3, 4, 5]

6.shift: 刪除并返回?cái)?shù)組的第一個(gè)元素, 如果數(shù)組為空,則shift() 方法不進(jìn)行任何操作,返回undefined

var shiftArr = [1, 2, 3, 4, 5, 6]
var shiftEle = shiftArr.shift()
console.log(shiftEle, shiftArr)
// -> 1,  [2, 3, 4, 5, 6]

7.unshift: 向數(shù)組的開(kāi)頭添加一個(gè)或更多元素,并返回新的長(zhǎng)度

var unshiftArr = [1, 2, 3, 4, 5, 6]
unshiftArr.unshift(0)
console.log(unshiftArr)
// -> [0, 1, 2, 3, 4, 5, 6]

8.reverse: 反轉(zhuǎn)數(shù)組的元素順序

var reverseArr = [1, 2, 3, 4, 5, 6]
reverseArr.reverse()
console.log(reverseArr)
// -> [6, 5, 4, 3, 2, 1]    

9.sort: 對(duì)數(shù)組的元素進(jìn)行排序

// a. 
    var sortArr1 = [1, 3, 5, 2, 7, 6]
    sortArr1.sort()
    console.log(sortArr1)
    // -> [1, 2, 3, 5, 6, 7]
// b.  因?yàn)閟ort排序是從左至右比較,只要其中一個(gè)比較出了結(jié)果,就直接返
    var sortArr2 = [1, 3, 19, 5, 17, 6]
    sortArr2.sort()
    console.log(sortArr2)
    // -> [1, 17, 19, 3, 5, 6]
// c: 封裝sort
    function sort(arr, type) {
        type = type || 1
        return arr.sort( (a, b) => {
            switch(type) {
                case 1: // 從小到大
                    return a - b
                case 2: // 從大到小
                    return b - a
                case 3: // 隨機(jī)排序
                    return Math.random() - 0.5
                default:
                    return arr
            }
        })
    }
    var sortArr3 = [1, 3, 19, 5, 17, 6]
    sort(sortArr3)
    console.log(sortArr3)

10.concat:連接兩個(gè)或更多的數(shù)組,并返回結(jié)果

var concat1 = [1, 2, 3],
concat2 = [4, 5, 6]
concatArr = concat1.concat(concat2)
console.log(concatArr)
// -> [1, 2, 3, 4, 5, 6]

11.slice(start, end): 選取數(shù)組的的一部分,并返回一個(gè)新數(shù)組, start必須,end可選

var sliceArr = [1, 2, 3, 4, 5, 6]
var sliceNewArr = sliceArr.slice(1, -1) // 截取第二個(gè) 到 倒數(shù)第二個(gè)
console.log(sliceNewArr)
// -> [2, 3, 4, 5]

12.splice(index, howmany, item1,.....,itemX): 從數(shù)組中添加或刪除元素

/*
    index:  必需。規(guī)定從何處添加/刪除元素。 該參數(shù)是開(kāi)始插入和(或)刪除的數(shù)組元素的下標(biāo),必須是數(shù)字
    howmany: 必需。規(guī)定應(yīng)該刪除多少元素。必須是數(shù)字,但可以是 "0"。 如果未規(guī)定此參數(shù),則刪除從 index 開(kāi)始到原數(shù)組結(jié)尾的所有元素。
    item1,.....,itemX: 可選。要添加到數(shù)組的新元素
*/
var spliceArr1 = [1, 2, 3, 4, 5, 6]
spliceArr1.splice(2, 2, 10, 12) // 從下標(biāo)為2 的地方開(kāi)始刪除 后面的兩個(gè)元素, 并在這個(gè)地方插入 10,12兩個(gè)元素 
console.log(spliceArr1)
// -> [1, 2, 10, 12, 5, 6]

var spliceArr = [1, 2, 3, 4, 5, 6]
spliceArr.splice(2, 0, 10, 12) // 當(dāng)需要?jiǎng)h除的元素為0, 相當(dāng)于在這個(gè)位置插入元素
console.log(spliceArr)
// -> [1, 2, 10, 12, 3, 4, 5, 6]    

13.copyWithin(target, start, end): 從數(shù)組的指定位置拷貝元素到數(shù)組的另一個(gè)指定位置中

/*
    target: 必需。復(fù)制到指定目標(biāo)索引位置。
    start: 必需。元素復(fù)制的起始位置。
    end: 可選。停止復(fù)制的索引位置 (默認(rèn)為 array.length)
*/
var copyWithinArr = [1, 2, 3, 4, 5, 6]
copyWithinArr.copyWithin(1, 2, 4)
console.log(copyWithinArr)
// -> [1, 3, 4, 4, 5, 6]

14.fill(value, start, end): 用于將一個(gè)固定值替換數(shù)組的元素

/*
    value: 必需。填充的值。
    start: 可選。開(kāi)始填充位置。
    end: 可選。停止填充位置 (默認(rèn)為 array.length)
*/
var fillArr = [1, 2, 3, 4, 5, 6]
fillArr.fill(9, 2, 4)
console.log(fillArr)
// -> [1, 2, 9, 9, 5, 6]

15.includes(searchElement, fromIndex):用來(lái)判斷一個(gè)數(shù)組是否包含一個(gè)指定的值,如果是返回 true,否則false

var includesArr = [1, 2, 3, 4, 5, 6]
var includes1 = includesArr.includes(3)
var includes2 = includesArr.includes(10)
console.log(includes1, includes2)
// -> true, false   

16.indexOf(item,start):可返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置

var indexOfArr = [1, 2, 3, 4, 3, 6]
var indexOfEle = indexOfArr.indexOf(3)
console.log(indexOfEle)
// -> 2 

17.lastIndexOf(item,start):返回一個(gè)指定的字符串值最后出現(xiàn)的位置,在一個(gè)字符串中的指定位置從后向前搜索

var lastIndexOfArr = [1, 2, 3, 4, 3, 6]
var lastIndexOfEle = lastIndexOfArr.lastIndexOf(3)
console.log(lastIndexOfEle)
// -> 4     

18.find(function(currentValue, index, arr),thisValue): 返回傳入一個(gè)測(cè)試條件(函數(shù))符合條件的數(shù)組第一個(gè)元素

  
// function(currentValue, index, arr):
//     a. currentValue: 必需。當(dāng)前元素
//     b. index: 可選。當(dāng)前元素的索引值
//     c. arr: 可選。當(dāng)前元素所屬的數(shù)組對(duì)象
// thisValue: 可選。 傳遞給函數(shù)的值一般用 "this" 值。 如果這個(gè)參數(shù)為空, "undefined" 會(huì)傳遞給 "this" 值

var findArr = [1, 2, 3, 4, 5, 6]
var findEle = findArr.find( function(currentValue, index, arr) {
    return currentValue >= 4
})
console.log(findEle)

19.findIndex(function(currentValue, index, arr),thisValue): 返回符合測(cè)試條件的第一個(gè)數(shù)組元素索引,如果沒(méi)有符合條件的則返回 -1

// function(currentValue, index, arr):
//     a. currentValue: 必需。當(dāng)前元素
//     b. index: 可選。當(dāng)前元素的索引值
//     c. arr: 可選。當(dāng)前元素所屬的數(shù)組對(duì)象
// thisValue: 可選。 傳遞給函數(shù)的值一般用 "this" 值。 如果這個(gè)參數(shù)為空, "undefined" 會(huì)傳遞給 "this" 值

var findIndexArr = [1, 2, 3, 4, 5, 6]
var findIndexEle = findIndexArr.findIndex( function(currentValue, index, arr) {
    return currentValue >= 4
})
console.log(findIndexEle)   

20.forEach(function(currentValue, index, arr), thisValue): 用于調(diào)用數(shù)組的每個(gè)元素,并將元素傳遞給回調(diào)函數(shù)。沒(méi)有返回值

// function(currentValue, index, arr):
//     a. currentValue: 必需。當(dāng)前元素
//     b. index: 可選。當(dāng)前元素的索引值
//     c. arr: 可選。當(dāng)前元素所屬的數(shù)組對(duì)象
// thisValue: 可選。 傳遞給函數(shù)的值一般用 "this" 值。 如果這個(gè)參數(shù)為空, "undefined" 會(huì)傳遞給 "this" 值


var forEachArr = [1, 2, 3, 4, 5, 6]
forEachArr.forEach( function(currentValue, index, arr){
    console.log(currentValue)
})
// -> 依次打印 1 2 3 4 5 6, 沒(méi)有返回值   

21.map(function(currentValue, index, arr), thisValue): 返回一個(gè)新數(shù)組,數(shù)組中的元素為原始數(shù)組元素調(diào)用函數(shù)處理后的值

// function(currentValue, index, arr):
//     a. currentValue: 必需。當(dāng)前元素
//     b. index: 可選。當(dāng)前元素的索引值
//     c. arr: 可選。當(dāng)前元素所屬的數(shù)組對(duì)象
// thisValue: 可選。 傳遞給函數(shù)的值一般用 "this" 值。 如果這個(gè)參數(shù)為空, "undefined" 會(huì)傳遞給 "this" 值


var mapArr = [1, 2, 3, 4, 5, 6]
var mapNewArr = mapArr.map( function(currentValue, index, arr){
    // console.log(currentValue)
    return currentValue*2
})
console.log(mapNewArr)
// -> [2, 4, 6, 8, 10, 12]

22.reduce(function(total, currentValue, index, arr), thisValue): 接收一個(gè)函數(shù)作為累加器,數(shù)組中的每個(gè)值(從左到右)開(kāi)始縮減,最終計(jì)算為一個(gè)值

// function(currentValue, index, arr):
//     a. currentValue: 必需。當(dāng)前元素
//     b. index: 可選。當(dāng)前元素的索引值
//     c. arr: 可選。當(dāng)前元素所屬的數(shù)組對(duì)象
//     d: total:   必需。初始值, 或者計(jì)算結(jié)束后的返回值。
// thisValue: 可選。 傳遞給函數(shù)的值一般用 "this" 值。 如果這個(gè)參數(shù)為空, "undefined" 會(huì)傳遞給 "this" 值


var reduceArr = [1, 2, 3, 4, 5, 6]
var reduceNewArr = reduceArr.reduce( function(total, currentValue, index, arr){
    return total - currentValue
})
console.log(reduceNewArr)
// -> 19    

23.reduceRight(function(total, currentValue, index, arr), thisValue): 接收一個(gè)函數(shù)作為累加器,數(shù)組中的每個(gè)值(從右到左)開(kāi)始縮減,最終計(jì)算為一個(gè)值

// function(currentValue, index, arr):
//     a. currentValue: 必需。當(dāng)前元素
//     b. index: 可選。當(dāng)前元素的索引值
//     c. arr: 可選。當(dāng)前元素所屬的數(shù)組對(duì)象
//     d: total:   必需。初始值, 或者計(jì)算結(jié)束后的返回值。
// thisValue: 可選。 傳遞給函數(shù)的值一般用 "this" 值。 如果這個(gè)參數(shù)為空, "undefined" 會(huì)傳遞給 "this" 值


var reduceRightArr = [1, 2, 3, 4, 5, 6]
var reduceRightNewArr = reduceRightArr.reduceRight( function(total, currentValue, index, arr){
    return total - currentValue
})
console.log(reduceRightNewArr)
// -> -9    

24.some(function(currentValue, index, arr), thisValue): 如果有一個(gè)元素滿(mǎn)足條件,則表達(dá)式返回true , 剩余的元素不會(huì)再執(zhí)行檢測(cè)。如果沒(méi)有滿(mǎn)足條件的元素,則返回false

// function(currentValue, index, arr):
//     a. currentValue: 必需。當(dāng)前元素
//     b. index: 可選。當(dāng)前元素的索引值
//     c. arr: 可選。當(dāng)前元素所屬的數(shù)組對(duì)象
// thisValue: 可選。 傳遞給函數(shù)的值一般用 "this" 值。 如果這個(gè)參數(shù)為空, "undefined" 會(huì)傳遞給 "this" 值


var someArr = [1, 2, 3, 4, 5, 6]
var someEle1 = someArr.some( function(currentValue, index, arr){
    return currentValue > 4
})
var someEle2 = someArr.some( function(currentValue, index, arr){
    return currentValue > 6
})
console.log(someEle1, someEle2)
// -> true, false   

25.every(function(currentValue, index, arr), thisValue): 如果數(shù)組中檢測(cè)到有一個(gè)元素不滿(mǎn)足,則整個(gè)表達(dá)式返回 false ,且剩余的元素不會(huì)再進(jìn)行檢測(cè)。如果所有元素都滿(mǎn)足條件,則返回 true

// function(currentValue, index, arr):
//     a. currentValue: 必需。當(dāng)前元素
//     b. index: 可選。當(dāng)前元素的索引值
//     c. arr: 可選。當(dāng)前元素所屬的數(shù)組對(duì)象
// thisValue: 可選。 傳遞給函數(shù)的值一般用 "this" 值。 如果這個(gè)參數(shù)為空, "undefined" 會(huì)傳遞給 "this" 值


var everyArr = [1, 2, 3, 4, 5, 6]
var everyEle1 = everyArr.every( function(currentValue, index, arr){
    return currentValue > 0
})
var everyEle2 = everyArr.every( function(currentValue, index, arr){
    return currentValue > 1
})
console.log(everyEle1, everyEle2)
// -> true, false   

26.filter(function(currentValue, index, arr), thisValue):創(chuàng)建一個(gè)新的數(shù)組,新數(shù)組中的元素是通過(guò)檢查指定數(shù)組中符合條件的所有元素

// function(currentValue, index, arr):
//     a. currentValue: 必需。當(dāng)前元素
//     b. index: 可選。當(dāng)前元素的索引值
//     c. arr: 可選。當(dāng)前元素所屬的數(shù)組對(duì)象
// thisValue: 可選。 傳遞給函數(shù)的值一般用 "this" 值。 如果這個(gè)參數(shù)為空, "undefined" 會(huì)傳遞給 "this" 值


var filterArr = [1, 2, 3, 4, 5, 6]
var filterNewArr = filterArr.filter( function(currentValue, index, arr){
    return currentValue > 2
})
console.log(filterNewArr)
// -> [3, 4, 5, 6]  

27.from: 將類(lèi)數(shù)組對(duì)象和可遍歷對(duì)象轉(zhuǎn)化為數(shù)組

fromObj = {
  0: "0",
  1: "1",
  3: "3",
  length:4
}
arrayArr = Array.from(fromObj)
console.log(arrayArr)
// -> ["0", "1", undefined, "3"]    

28.of: 創(chuàng)建一個(gè)具有可變數(shù)量參數(shù)的新數(shù)組實(shí)例,而不考慮參數(shù)的數(shù)量或類(lèi)型

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

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

博客地址:javascript 總結(jié)(Array篇)
github: javascript 總結(jié)(Array篇)

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

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

相關(guān)文章

  • JavaScript 基礎(chǔ)知識(shí)】一關(guān)于 JavaScript 一些知識(shí)點(diǎn)的總結(jié) —— 持續(xù)更新

    摘要:中基礎(chǔ)數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型名稱(chēng)數(shù)據(jù)類(lèi)型說(shuō)明只有一個(gè)值,即,聲明變量的初始值。只有一個(gè)值,即,表示空指針,的值是派生的值。由零或多個(gè)位字符組成只有兩個(gè)值,即和該類(lèi)型使用來(lái)表示整數(shù)和浮點(diǎn)數(shù)。中的對(duì)象其實(shí)就是一組數(shù)據(jù)和功能的集合。 JavaScript 中基礎(chǔ)數(shù)據(jù)類(lèi)型 數(shù)據(jù)類(lèi)型名稱(chēng) 數(shù)據(jù)類(lèi)型說(shuō)明 Undefined 只有一個(gè)值,即 undefined ,聲明變量的初始值。 Nul...

    felix0913 評(píng)論0 收藏0
  • 細(xì)說(shuō) Javascript 數(shù)組(二) : 數(shù)組的構(gòu)造函數(shù)和常見(jiàn)操作

    摘要:數(shù)組的構(gòu)造函數(shù)由于數(shù)組的構(gòu)造函數(shù)在處理參數(shù)時(shí)的不確定性,因此強(qiáng)烈建議使用符號(hào)來(lái)創(chuàng)建一個(gè)新數(shù)組??偨Y(jié)綜上所述,我們應(yīng)該盡量使用來(lái)創(chuàng)建新函數(shù),而不是數(shù)組的構(gòu)造函數(shù),這樣代碼將有更好的可讀性。 數(shù)組的構(gòu)造函數(shù) 由于數(shù)組的構(gòu)造函數(shù)在處理參數(shù)時(shí)的不確定性,因此強(qiáng)烈建議使用 [] 符號(hào)來(lái)創(chuàng)建一個(gè)新數(shù)組。 [1, 2, 3]; // Result: [1, 2, 3] new Array(1, ...

    kaka 評(píng)論0 收藏0
  • JavaScript 面向?qū)ο箝_(kāi)發(fā)知識(shí)總結(jié)基礎(chǔ)

    摘要:字面形式允許你在不需要使用操作符和構(gòu)造函數(shù)顯式創(chuàng)建對(duì)象的情況下生成引用值。操作符以一個(gè)對(duì)象和一個(gè)構(gòu)造函數(shù)作為參數(shù)鑒別數(shù)組有前一小結(jié)可以知道鑒別數(shù)組類(lèi)型可以使用。屬性是函數(shù)獨(dú)有的,表明該對(duì)象可以被執(zhí)行。這種函數(shù)被稱(chēng)為匿名函數(shù)。 引子: 1.JavaScript 中的變量類(lèi)型和類(lèi)型檢測(cè) 1.1原始類(lèi)型 1.2引用類(lèi)型 1.3內(nèi)建類(lèi)型的實(shí)例化 1.4函數(shù)的字面形式 1.5正則表達(dá)式的字...

    Kross 評(píng)論0 收藏0
  • 細(xì)說(shuō) Javascript 類(lèi)型(二) : typeof 操作符

    摘要:操作符還有可能是設(shè)計(jì)中最大缺陷,因?yàn)樗鼛缀跏峭耆茡p的。由于用法與調(diào)用函數(shù)的語(yǔ)法相似,因此常被誤以為是函數(shù)調(diào)用,實(shí)際上并不存在名為的函數(shù),只是一個(gè)操作符而已。而列則表示對(duì)象內(nèi)部的屬性。屬性文檔中明確地給出了獲得屬性的途徑,就是使用。 typeof 操作符(還有 instanceof)可能是 Javascript 設(shè)計(jì)中最大缺陷,因?yàn)樗鼛缀跏峭耆茡p的。由于 typeof 用法與調(diào)用函數(shù)...

    PAMPANG 評(píng)論0 收藏0
  • 細(xì)說(shuō) Javascript 函數(shù)(四) : ?arguments 對(duì)象

    因?yàn)樽罱胁┯逊答佄业牟┪氖侵苯臃g的參考鏈接內(nèi)的內(nèi)容,所以我在這里要說(shuō)明一下,以免引起不必要的誤會(huì)。 首先,我很喜歡 segmentfault 的交流和學(xué)習(xí)的氛圍,所以我很愿意在這里跟各位 SFer 交流學(xué)習(xí)心得,相互學(xué)習(xí),共同進(jìn)步。 第二,我做技術(shù)方面的工作不久,所以學(xué)習(xí)經(jīng)歷也不是很長(zhǎng),但是我發(fā)現(xiàn)寫(xiě)博客,總結(jié)自己的學(xué)習(xí)心得是個(gè)很好的學(xué)習(xí)習(xí)慣,至少對(duì)于我個(gè)人而言,我于此收益頗豐,所以我決定堅(jiān)持一...

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

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

0條評(píng)論

閱讀需要支付1元查看
<