亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

數(shù)組方法匯總

cnio / 3203人閱讀

摘要:返回值為排序后的新數(shù)組。會(huì)有一個(gè)函數(shù)作為的參數(shù),該函數(shù)也有個(gè)參數(shù),分別為調(diào)用的數(shù)組的每一項(xiàng)元素對(duì)應(yīng)元素所在的位置表示該數(shù)組過(guò)濾方法。返回滿足條件的元素組成的數(shù)組。

原生javascript方法
創(chuàng)建數(shù)組
var colors = [];
var colors = ["red", "blue"];
檢測(cè)數(shù)組
if(arr instanceof Array) {}

如果網(wǎng)頁(yè)中包含多個(gè)框架,則需要使用下面的方式檢測(cè)數(shù)組

if(Array.isArray(arr)) {}
arr.valueOf()
var colors = ["red", "yellow"];
colors.valueOf();
// > ["red", "yellow"]
arr.toString()
var colors = ["red", "yellow"];
colors.toString();
// > "red,yellow"
arr.push(item)

從數(shù)組末尾添加元素,并返回新數(shù)組的長(zhǎng)度

var colors = ["red", "yellow"];
colors.push("pink");
// > 3
arr.pop()

從數(shù)組末尾刪除元素,并返回被刪除的元素

var colors = ["red", "yellow"];
colors.pop();
// > "yellow"
arr.unshift(item)

從數(shù)組頭部添加元素,并返回新數(shù)組的長(zhǎng)度

var colors = ["green", "pink"];
colors.unshift("pink");
// > 3
arr.shift()

從數(shù)組頭部刪除元素,并返回被刪除的元素

var colors = ["yellow", "orange"];
colors.shift();
// > "yellow"
arr.reverse()

反轉(zhuǎn)數(shù)組的順序,并返回重新排序之后的數(shù)組, 原數(shù)組會(huì)被改變

[1, 2, 3, "reer", "game", 2, 5].reverse();
// > [5, 2, "game", "reer", 3, 2, 1]
arr.sort(fn)

如果不傳參數(shù),默認(rèn)情況下數(shù)組內(nèi)的元素會(huì)被轉(zhuǎn)換為字符串進(jìn)行比較,因此一般不推薦直接使用默認(rèn)的arr.sort()進(jìn)行排序。
返回值為排序后的新數(shù)組。原數(shù)組會(huì)被改變

將數(shù)組內(nèi)數(shù)值元素從小到大排序。

var demo = [1, 4, 2, "reee", "name", "9", "doc"];
demo.sort(function(a, b)) {
    return a - b;
}
// > [1, 2, 4, "reee", "name", "9", "doc"]

將數(shù)組內(nèi)數(shù)值元素從大到小排序

var demo = [1, 4, 2, "reee", "name", "9", "doc"];
demo.sort(function(a, b) {
    return b - a;
})
// > [4, 2, 1, "reee", "name", "9", "doc"]
arr.concat(otherArr)

參數(shù)中傳入元素或者數(shù)組, 會(huì)將該參數(shù)合并到arr中,返回合并后新的數(shù)組,原數(shù)組不會(huì)改變

var arr = [1, 3, "jake"];
arr.concat("rose", [2, "fi"]);
// > [1, 3, "jake", "rose", 2, "fi"]
arr.slice()

剪切數(shù)組,返回剪切之后的數(shù)組,元素不會(huì)改變

傳入一個(gè)參數(shù),表示起始位置,結(jié)束位置為最末尾

var arr = [4, 2, 1, "reee", "name", "9", "doc"];
arr.slice(2);
// > [1, "reee", "name", "9", "doc"]

傳入2個(gè)參數(shù),表示起始位置與結(jié)束位置,但不包括結(jié)束位置所在的元素

var arr = [4, 2, 1, "reee", "name", "9", "doc"];
arr.slice(2, 4);
// > [1, "reee"]
arr.splice()

根據(jù)參數(shù)的不同,可以分別實(shí)現(xiàn)刪除,插入,替換元素的作用,會(huì)改變?cè)紨?shù)組

刪除

傳入2個(gè)參數(shù), 分別表示起始位置與要?jiǎng)h除元素的個(gè)數(shù),返回被刪除掉的元素組成的數(shù)組

var arr = [4, 2, 1, "reee", "name", "9", "doc"];
arr.splice(2, 3);
// > [1, "reee", "name"]
// arr: [4, 2, "9", "doc"]

插入

傳入3個(gè)參數(shù), [起始位置 | 要?jiǎng)h除的項(xiàng)數(shù) 為0 | 要插入的元素], 最終返回刪除掉的元素組成的數(shù)組,因?yàn)檫@里刪除項(xiàng)數(shù)為0,因此會(huì)返回空數(shù)組

var arr = [2, 4, 6];
arr.splice(2, 0, "red", "green"); 
// > []
// arr: [2, 4, "red", "green", 6] 

替換

傳入三個(gè)參數(shù), [ 起始位置 | 要?jiǎng)h除的項(xiàng)數(shù) 為1 | 要插入的元素 ],最終返回被刪除掉的元素組成的數(shù)組

var arr = [2, 4, 9];
arr.splice(1, 1, ["tim", "tom"]);
// > [4]
// arr: [2, ["tim", "tom"], 9]

總結(jié) 因此,這個(gè)方法會(huì)因?yàn)閰?shù)的不同而實(shí)現(xiàn)不同的功能,所有的參數(shù)從頭到尾依次為

[ 起始位置 | 要?jiǎng)h除元素的個(gè)數(shù) | 要插入元素的值,可以寫入多個(gè)值 ]

arr.indexOf(item)

驗(yàn)證數(shù)組中是否含有某個(gè)元素,返回第一個(gè)匹配到的元素在數(shù)組中所在的位置,如果沒有,則返回 -1

var arr = [2, "tim", 4, 5, 2];
arr.indexOf("tim");
// > 1
arr.indexOf("jake");
// > -1
arr.lastIndexOf(item)

驗(yàn)證數(shù)組中是否含有某個(gè)元素,不過(guò)是從數(shù)組尾部開始查找,返回第一個(gè)匹配到的元素所在的位置,如果沒有,則返回-1

var arr = [2, "tim", 4, 5, 2];
arr.lastIndexOf("tim");
// > 1
arr.indexOf("jake");
// > -1
IE6, 7, 8 不支持indexOf與lastIndexOf方法
arr.every()

對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),如果該函數(shù)對(duì)每一項(xiàng)都返回true,則返回true。會(huì)有一個(gè)函數(shù)作為every的參數(shù),該函數(shù)也有3個(gè)參數(shù),分別為
[ 調(diào)用every的數(shù)組的每一項(xiàng)元素 | 對(duì)應(yīng)元素所在的位置 | 表示該數(shù)組 ]

var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
var everyRes = numbers.every(function(item, index, array) {
    return item > 2;
})
// > false
arr.some()

對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),如果該函數(shù)對(duì)其中一項(xiàng)返回true,則返回true。會(huì)有一個(gè)函數(shù)作為every的參數(shù),該函數(shù)也有3個(gè)參數(shù),分別為
[ 調(diào)用every的數(shù)組的每一項(xiàng)元素 | 對(duì)應(yīng)元素所在的位置 | 表示該數(shù)組 ]

var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
var everyRes = numbers.some(function(item, index, array) {
    return item > 2;
})
// > true
arr.filter(fn)

過(guò)濾方法。返回滿足條件的元素組成的數(shù)組。fn的參數(shù)為
[ 調(diào)用every的數(shù)組的每一項(xiàng)元素 | 對(duì)應(yīng)元素所在的位置 | 表示該數(shù)組 ]

var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
var everyRes = numbers.filter(function(item, index, array) {
    return item > 2;
})
// > [ 3, 4, 5, 4, 3 ]
arr.map(fn)

對(duì)數(shù)組的每一項(xiàng)進(jìn)行計(jì)算等處理,返回處理結(jié)果組成的數(shù)組,fn的參數(shù)為
[ 調(diào)用every的數(shù)組的每一項(xiàng)元素 | 對(duì)應(yīng)元素所在的位置 | 表示該數(shù)組 ]

var numbers = [1, 2, 3, 3, 2, 1];
var everyRes = numbers.map(function(item, index, array) {
    return item > 2;
})
// >[false, false, true, true, false, false]
arr.forEach(fn)

遍歷數(shù)組,沒有返回值,fn的參數(shù)為
[ 調(diào)用every的數(shù)組的每一項(xiàng)元素 | 對(duì)應(yīng)元素所在的位置 | 表示該數(shù)組 ]

numbers.forEach(function(item, index) {
    // do something
})
arr.reduce(fn)

縮減方法。fn的參數(shù)為
[ 前一個(gè)元素 | 當(dāng)前元素,從1開始 | 后一個(gè)元素的序列,從1開始計(jì)數(shù) | 表示該數(shù)組 ]

var values = [1, 2, 3, 4, 5];
var sum = values.reduce(function(prev, cur, index, array) {
    return prev + cur;
})
// > 15 
//每一次迭代之后的結(jié)果分別為
// [3, 3, 4, 5]
// [6, 4, 5]
// [10, 5]
// 15
arr.reduceRight(fn)

與reduce一模一樣,只是方向相反。

jQuery相關(guān)方法
$.each(arr, fn)

遍歷數(shù)組或者對(duì)象,fn有2個(gè)參數(shù),分別為, 比原生的for in 更加健壯
[ 數(shù)組的索引或者對(duì)象的key值 | 索引或者key值對(duì)應(yīng)的value值 ]

var arr = [1, 2, 3];
$.each(arr, function(key, value) {
    // do something
});

跳過(guò)一次循環(huán) return | return true

終止循環(huán) return false

$.grep(arr, fn)

過(guò)濾方法,功能類同原生中的arr.filter(fn)。此處fn的參數(shù)如下
[ value: 對(duì)象/數(shù)組的值 | key值或者序列 ]

var arr = [ 1, 3, 6, 4 ];
$.grep(arr, function(val, key) {
    return val >= 3;
});
// > [3, 6, 4]
// arr : [ 1, 3, 6, 4 ] 不會(huì)改變
$.map(arr, fn)

對(duì)每項(xiàng)進(jìn)行處理,返回處理結(jié)果組成的數(shù)組,此處fn的參數(shù)如下
[ value: 對(duì)象/數(shù)組的值 | key值或者序列 ]

var arr = [1, 2, 5, 3];
$.map(arr, function(val, key) {
    return val * 10;
})
// > [10, 30, 30, 20, 10]
// 原數(shù)組不受影響
$.inArray(item, array)

檢測(cè)某一個(gè)元素item是否存在與數(shù)組之中,返回其所在的位置,如果不在,則返回-1

$.inArray(3, [1, 2, 3]);
// > 2
$.merge(arr1, arr2)

合并數(shù)組,會(huì)改變第一個(gè)參數(shù)的數(shù)組為合并之后的數(shù)組,返回合并之后的數(shù)組

var arr = [1, 3, 4];
var arr2 = [4, 3, 1];
$.merge(arr, arr2);
// > [1, 3, 4, 4, 3, 1]
// 為了防止第一個(gè)數(shù)組被改變,可以使用下面的方式來(lái)寫
$.merge($.merge([], arr), arr2);
$.unique(arr)

過(guò)濾DOM數(shù)組中重復(fù)的元素

$.makeArray(obj)

將類數(shù)組對(duì)象轉(zhuǎn)換為數(shù)組

$(elem).toArray()

將jQuery對(duì)象集合恢復(fù)成DOM數(shù)組

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

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

相關(guān)文章

  • Javascript判斷數(shù)組是否包含特定元素方法匯總

    摘要:具體內(nèi)容請(qǐng)參考。感謝大家閱讀,另外,在這邊幫朋友推一個(gè)愛心眾籌,希望大家能夠奉獻(xiàn)點(diǎn)愛心,朋友母親,身患直腸癌,目前在北京武警總醫(yī)院接收治療,可留言留下您的聯(lián)系方式,日后感激大家 判斷數(shù)組是否包含某一特定元素是很常見的需求,javascript中有很多實(shí)現(xiàn)方法,今天有空匯總了一下,按兼容性由強(qiáng)到弱排序,返回類型一律為boolean: 假設(shè)數(shù)組為arr,目標(biāo)元素為target 循環(huán)遍歷: ...

    impig33 評(píng)論0 收藏0
  • 排序算法終極匯總

    摘要:本文對(duì)種排序方法進(jìn)行匯總。自頂向下的歸并排序算法歸并排序自頂向下分治思想的最經(jīng)典的一個(gè)例子。另外,快排序的內(nèi)循環(huán)比大多數(shù)排序算法都短?;舅惴炫判蚴且环N分治的算法,將一個(gè)數(shù)組分成兩個(gè)子數(shù)組,將兩部分獨(dú)立排序。 本文對(duì)9種排序方法進(jìn)行匯總。分別是: 插入排序 選擇排序 歸并排序 冒泡排序 堆排序 快排序 計(jì)數(shù)排序 基數(shù)排序 桶排序。參照《算法》第四版這本書,把排序需要的公共的方法抽象出...

    voyagelab 評(píng)論0 收藏0
  • JavaScript中操作數(shù)組的常用函數(shù)匯總

    摘要:示例語(yǔ)法作用方法用于刪除并返回?cái)?shù)組的最后一個(gè)元素。返回值一個(gè)新的字符串,該字符串值包含的一個(gè)子字符串,其內(nèi)容是從處到處的所有字符,其長(zhǎng)度為減。返回值一個(gè)新的字符串,包含從的包括所指的字符處開始的個(gè)字符。 1.concat()語(yǔ)法:arrayObject.concat(array1,array2,......,arrayn)作用:concat() 方法用于連接兩個(gè)或多個(gè)數(shù)組。特征:該方法...

    beita 評(píng)論0 收藏0
  • Array() 方法匯總

    摘要:方法為數(shù)組中的每個(gè)元素都調(diào)用一次函數(shù)執(zhí)行如果沒有符合條件的元素返回對(duì)于空數(shù)組,函數(shù)是不會(huì)執(zhí)行的。不改變?cè)瓟?shù)組和差不多,默認(rèn)返回的是索引。 1. length屬性 && 檢測(cè)數(shù)組 length屬性不是只讀,可以設(shè)置該屬性,從數(shù)組的末尾移除項(xiàng)或添加新項(xiàng) 檢測(cè)數(shù)組: 一個(gè)全局作用域下(一個(gè)網(wǎng)頁(yè)),使用instanceof 兩個(gè)以上不同的全局執(zhí)行環(huán)境(網(wǎng)頁(yè)包含多個(gè)框架),使用Array....

    JessYanCoding 評(píng)論0 收藏0
  • javascript數(shù)組方法學(xué)習(xí)匯總

    摘要:將輸出新數(shù)組判斷數(shù)組中的每一項(xiàng)是否都滿足條件,都滿足返回,此方法相較于之前的幾個(gè)方法,返回值有差異,是一個(gè)布爾值。輸出數(shù)組用于將一組值轉(zhuǎn)化為數(shù)組輸出數(shù)組返回一個(gè)布爾值,表示某個(gè)數(shù)組中是否包含給定的值。 1、join(sep):將數(shù)組元素組合成字符串。以sep為分隔符,省略的話則默認(rèn)使用逗號(hào)為分隔符。 var arr = [a,b,c]; console.log(arr.join(-))...

    zebrayoung 評(píng)論0 收藏0
  • LeetCode 攻略 - 2019 年 7 月下半月匯總(100 題攻略)

    摘要:月下半旬攻略道題,目前已攻略題。目前簡(jiǎn)單難度攻略已經(jīng)到題,所以后面會(huì)調(diào)整自己,在刷算法與數(shù)據(jù)結(jié)構(gòu)的同時(shí),攻略中等難度的題目。 Create by jsliang on 2019-07-30 16:15:37 Recently revised in 2019-07-30 17:04:20 7 月下半旬攻略 45 道題,目前已攻略 100 題。 一 目錄 不折騰的前端,和咸魚有什么區(qū)別...

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

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

0條評(píng)論

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